chore: propagate changes from main into development - #1406
Merged
Merged
Conversation
…seded E2E run as a failure The check-nightly-health job in weekly-nightly-promotion.yml resolved nightly's HEAD sha once before its 40-minute poll loop, then polled for required workflow runs against that pinned sha. nightly-build.yml's daily cron (0 9 * * *) and this workflow's own weekly cron shared the same 09:00 UTC slot (despite a comment claiming an offset), so nightly-build could re-sync nightly to a new sha mid-poll and dispatch its own E2E run for it. Because e2e-tests-split.yml's concurrency group is keyed on branch ref (not sha), that new dispatch cancelled the in-progress run for the old, still-tracked sha - which the poll loop then reported as a real failure and used to block promotion, even though current nightly HEAD was fully green (see #1404). Re-resolve nightly HEAD on every poll iteration; if it has advanced, follow the new sha and reset tracking instead of counting the superseded run's cancellation as a failure. Also move this workflow's cron to 09:30 UTC, genuinely offset from nightly-build's sync, as defense in depth against scheduler jitter observed to exceed 15 minutes.
Contributor
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Contributor
Author
✅ Supply Chain Verification Results✅ PASSED 📦 SBOM Summary
🔍 Vulnerability Scan
📎 Artifacts
Generated by Supply Chain Verification workflow • View Details |
…very steps The 2026-09-28 weekly promotion merged real feat/fix commits (including the #1317 security hardening work) but release-please logged "No user facing commits found... skipping" because the previous release commit landed as the promotion merge's immediate first parent, starving its history walk before it could descend into nightly's second-parent commits. Documents the root cause and recovery in docs/troubleshooting/ and adds a pointer in CLAUDE.md's CI/CD section so it's recognized immediately next time, rather than re-diagnosed from scratch.
PR #1408 documented this as a first-parent-adjacency quirk, but that was wrong: a structurally identical prior promotion (2c59ac5) had the same non-conventional merge title and correctly surfaced a buried fix commit, and adding a spacer commit (per the original doc's recovery advice) did not fix the 2026-09-28 incident - it only reproduced the same truncation one commit later (see PR #1410). The real cause is date-ordering: release-please's commit walk stops at the release boundary's commit DATE, not a fixed graph position. Nightly commits older than an interim release that lands directly on main get silently stranded regardless of branch routing or spacer commits. Corrects the doc and adds the actual recovery procedure (hand-correct the release-please PR) used to fix v0.43.0.
…omotion release-please's commit-collection walk on main stops at the previous release boundary's commit date rather than true git ancestry. When an interim hotfix release lands on main while nightly still has release-worthy commits dated older than that new boundary, those nightly commits are silently stranded once the promotion merge finally brings them in (see docs/troubleshooting/release-please-skips.md for the full 2026-09-28 incident writeup). Add a pre-check job to release-please.yml that compares nightly's tip against the commit that would become the new release boundary. If nightly has any feat/fix/perf/revert/deps commits older than that boundary, the release-please job is skipped for this push instead of cutting a release. This is self-healing: the guard re-evaluates on every push to main, so it naturally clears once nightly's backlog lands (whether via that week's promotion merge or a future one), at which point release-please resumes and correctly bundles everything that was deferred. The guard only defers when nightly genuinely has older, unpromoted release-worthy commits pending — an interim hotfix during a week where nightly has nothing pending, or where nightly's pending commits are newer than the boundary, is unaffected. Logic lives in scripts/ci/check-nightly-sequencing.sh with bats coverage in scripts/tests/check-nightly-sequencing.bats, wired into quality-checks.yml.
release-please's own automated run reset this branch back to 0.42.2 when PRs #1411 and #1412 merged (each push to main re-triggers release-please.yml, which recomputes and force-overwrites this PR from scratch). The underlying date-ordering bug (see docs/troubleshooting/release-please-skips.md) still applies to the gap between the v0.42.1 tag and current main, so the recomputed PR is wrong for the same reason as before. Re-applying the correction; merging this immediately to avoid another reset from a subsequent push.
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.
Automated PR to propagate changes from main into development.
Triggered by push to main.