Restore AMD scheduled canary, split README badges, fix Slack-state collision#66662
Merged
Merged
Conversation
…llision PR apache#66348 split the combined ci-amd-arm.yml into per-platform wrappers and intentionally deferred re-adding a schedule trigger to ci-amd.yml ('No schedule for now; ARM keeps the canary slot. Add a schedule: block here if/when AMD should also act as a scheduled canary'). As a result: - The AMD 'Tests (AMD)' badge on the README pointed at a workflow that hadn't run on main since 2025-10-25 (it now only runs on PRs and release-branch pushes), so the badge was stale. - The notify-slack job at the bottom of ci-amd.yml is gated on github.event_name == 'schedule' and was therefore dead code: there was no schedule trigger left to fire it. - main on AMD had no scheduled CI monitor at all (ci-notification.yml only watches v3-2-test x ci-amd.yml, and the comment there assumes ARM is reported by its own notify-slack). This change: 1. Restores the previous AMD canary cron in ci-amd.yml at minute :58 of the same hours ARM uses, so the two scheduled runs don't compete for runners at exactly the same minute. 2. Splits the README build-status row for main into two badges (AMD and ARM), drops the obsolete 2.x row (still using the legacy ci.yml), and keeps 3.x AMD-only (ARM has no v3-2-test schedule). Click-throughs go to the workflow page rather than the catch-all /actions URL. 3. Disambiguates the slack-state artifact names that ci-amd.yml, ci-arm.yml, and ci-image-checks.yml share. Before this PR the latent collision did not bite (AMD's notify-slack never fired); restoring the AMD schedule activates it. Each platform now writes its own slack-state-{tests,inventory}-<branch>-{amd,arm} artifact so the de-dup tracker in scripts/ci/slack_notification_state.py keeps independent state per platform. 4. Updates scripts/ci/prek/check_ci_workflows_in_sync.py to allow the new AMD-only schedule block and the per-platform artifact-name suffix as documented divergences. generated/PYPI_README.md is regenerated automatically by the generate-pypi-readme prek hook to mirror README.md.
jscheffl
approved these changes
May 10, 2026
Contributor
Backport failed to create: v3-2-test. View the failure log Run detailsNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
You can attempt to backport this manually by running: cherry_picker 022e35d v3-2-testThis should apply the commit to the v3-2-test branch and leave the commit in conflict state marking After you have resolved the conflicts, you can continue the backport process by running: cherry_picker --continueIf you don't have cherry-picker installed, see the installation guide. |
2 tasks
potiuk
added a commit
that referenced
this pull request
May 10, 2026
…llision (#66662) (#66665) PR #66348 split the combined ci-amd-arm.yml into per-platform wrappers and intentionally deferred re-adding a schedule trigger to ci-amd.yml ('No schedule for now; ARM keeps the canary slot. Add a schedule: block here if/when AMD should also act as a scheduled canary'). As a result: - The AMD 'Tests (AMD)' badge on the README pointed at a workflow that hadn't run on main since 2025-10-25 (it now only runs on PRs and release-branch pushes), so the badge was stale. - The notify-slack job at the bottom of ci-amd.yml is gated on github.event_name == 'schedule' and was therefore dead code: there was no schedule trigger left to fire it. - main on AMD had no scheduled CI monitor at all (ci-notification.yml only watches v3-2-test x ci-amd.yml, and the comment there assumes ARM is reported by its own notify-slack). This change: 1. Restores the previous AMD canary cron in ci-amd.yml at minute :58 of the same hours ARM uses, so the two scheduled runs don't compete for runners at exactly the same minute. 2. Splits the README build-status row for main into two badges (AMD and ARM), drops the obsolete 2.x row (still using the legacy ci.yml), and keeps 3.x AMD-only (ARM has no v3-2-test schedule). Click-throughs go to the workflow page rather than the catch-all /actions URL. 3. Disambiguates the slack-state artifact names that ci-amd.yml, ci-arm.yml, and ci-image-checks.yml share. Before this PR the latent collision did not bite (AMD's notify-slack never fired); restoring the AMD schedule activates it. Each platform now writes its own slack-state-{tests,inventory}-<branch>-{amd,arm} artifact so the de-dup tracker in scripts/ci/slack_notification_state.py keeps independent state per platform. 4. Updates scripts/ci/prek/check_ci_workflows_in_sync.py to allow the new AMD-only schedule block and the per-platform artifact-name suffix as documented divergences. generated/PYPI_README.md is regenerated automatically by the generate-pypi-readme prek hook to mirror README.md. (cherry picked from commit 022e35d)
vatsrahul1001
pushed a commit
that referenced
this pull request
May 20, 2026
…llision (#66662) (#66665) PR #66348 split the combined ci-amd-arm.yml into per-platform wrappers and intentionally deferred re-adding a schedule trigger to ci-amd.yml ('No schedule for now; ARM keeps the canary slot. Add a schedule: block here if/when AMD should also act as a scheduled canary'). As a result: - The AMD 'Tests (AMD)' badge on the README pointed at a workflow that hadn't run on main since 2025-10-25 (it now only runs on PRs and release-branch pushes), so the badge was stale. - The notify-slack job at the bottom of ci-amd.yml is gated on github.event_name == 'schedule' and was therefore dead code: there was no schedule trigger left to fire it. - main on AMD had no scheduled CI monitor at all (ci-notification.yml only watches v3-2-test x ci-amd.yml, and the comment there assumes ARM is reported by its own notify-slack). This change: 1. Restores the previous AMD canary cron in ci-amd.yml at minute :58 of the same hours ARM uses, so the two scheduled runs don't compete for runners at exactly the same minute. 2. Splits the README build-status row for main into two badges (AMD and ARM), drops the obsolete 2.x row (still using the legacy ci.yml), and keeps 3.x AMD-only (ARM has no v3-2-test schedule). Click-throughs go to the workflow page rather than the catch-all /actions URL. 3. Disambiguates the slack-state artifact names that ci-amd.yml, ci-arm.yml, and ci-image-checks.yml share. Before this PR the latent collision did not bite (AMD's notify-slack never fired); restoring the AMD schedule activates it. Each platform now writes its own slack-state-{tests,inventory}-<branch>-{amd,arm} artifact so the de-dup tracker in scripts/ci/slack_notification_state.py keeps independent state per platform. 4. Updates scripts/ci/prek/check_ci_workflows_in_sync.py to allow the new AMD-only schedule block and the per-platform artifact-name suffix as documented divergences. generated/PYPI_README.md is regenerated automatically by the generate-pypi-readme prek hook to mirror README.md. (cherry picked from commit 022e35d)
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.
Summary
PR #66348 split the combined
ci-amd-arm.ymlinto per-platform wrappers and intentionally deferred re-adding a schedule trigger toci-amd.yml("No schedule for now; ARM keeps the canary slot. Add aschedule:block here if/when AMD should also act as a scheduled canary"). Three things fell out of that:mainsince 2025-10-25 (it now only runs on PRs and release-branch pushes), so the badge was perpetually stale.notify-slackjob at the bottom ofci-amd.ymlis gated ongithub.event_name == 'schedule'and was therefore dead code: there was no schedule trigger left to fire it.mainon AMD had no scheduled CI monitor at all (ci-notification.ymlonly watchesv3-2-test×ci-amd.yml, and the comment there assumes ARM is reported by its ownnotify-slack).Changes
ci-amd.yml— restore the previous AMD canary cron at minute:58of the same hours ARM uses, so the two scheduled runs don't compete for runners at exactly the same minute.README.md— split themainbuild-status row into two badges (AMD + ARM), drop the obsolete2.xrow (still using the legacyci.yml), keep3.xAMD-only (ARM has nov3-2-testschedule). Click-throughs now go to the workflow page rather than the catch-all/actionsURL.ci-amd.yml,ci-arm.yml,ci-image-checks.yml— disambiguate the slack-state artifact names. Before this PR the latent collision did not bite (AMD'snotify-slacknever fired); restoring the AMD schedule activates it. Each platform now writes its ownslack-state-{tests,inventory}-<branch>-{amd,arm}artifact so the de-dup tracker inscripts/ci/slack_notification_state.pykeeps independent state per platform.scripts/ci/prek/check_ci_workflows_in_sync.py— allow the new AMD-only schedule block and the per-platform artifact-name suffix as documented divergences.generated/PYPI_README.md— regenerated automatically by thegenerate-pypi-readmeprek hook to mirrorREADME.md.related: #66348
Test plan
ci-amd.ymlfires on schedule (next slot at 01:58 / 07:58 / 13:58 / 19:58 UTC) and that thenotify-slackjob runsWas generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 4.7) following the guidelines