Regenerate stale provider dependencies instead of silently using them - #70955
Merged
eladkal merged 1 commit intoAug 3, 2026
Merged
Conversation
Release commands enumerate providers from generated/provider_dependencies.json, filtering on each provider's state. The freshness check runs on every breeze invocation, but when the json was present and its sha256sum sidecar was not, it delegated to a helper that only regenerates when the json is missing. The stale file was therefore returned as-is and no sidecar was ever written, leaving the check permanently disabled for that checkout. A provider whose state changed then stays invisible to the release: common.ai was flipped to ready in 682cf06 but a checkout carrying an older json still called it not-ready, so it was dropped from the 2026-08-01 wave with no warning and was only caught by an unrelated package count mismatch.
potiuk
requested review from
amoghrajesh,
ashb,
bugraoz93,
choo121600,
ephraimbuddy,
gopidesupavan,
jason810496,
jedcunningham,
jscheffl and
vatsrahul1001
as code owners
August 3, 2026 00:46
gopidesupavan
approved these changes
Aug 3, 2026
eladkal
approved these changes
Aug 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release commands enumerate providers from
generated/provider_dependencies.json, filtering on each provider'sstate.generate_provider_dependencies_if_needed()runs on every breeze invocation, but its "json or sidecar missing" branch delegated toget_provider_dependencies(), which only regenerates when the json is absent. With the json present and the.sha256sumsidecar missing, the stale file was returned unchanged and no sidecar was ever written — so the staleness check stayed permanently disabled for that checkout.A provider whose
statechanged is then invisible to the release.common.aiwas flipped toreadyin 682cf06, but a checkout carrying a json from before that still reportednot-ready, sobreeze release-management prepare-provider-distributionssilently omittedapache-airflow-providers-common-ai0.7.0 from the 2026-08-01 wave. It was caught only by an unrelated package-count mismatch during the RC cut.Both branches now force regeneration through a shared helper that removes the json first. The hash sidecar is also written only after regeneration succeeds, so a failed run no longer leaves a sidecar vouching for content that was never produced.
Tests cover both broken paths (missing sidecar, and no sidecar written when regeneration raises); the up-to-date and stale-sidecar cases are guards that the shared-helper refactor did not change behaviour that already worked.
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 5) following the guidelines