Skip to content

xtask: re-read manifests in execute-plan apply loop - #6200

Merged
MabezDev merged 2 commits into
esp-rs:mainfrom
MabezDev:fix-execute-plan-stale-manifest
Aug 26, 2026
Merged

xtask: re-read manifests in execute-plan apply loop#6200
MabezDev merged 2 commits into
esp-rs:mainfrom
MabezDev:fix-execute-plan-stale-manifest

Conversation

@MabezDev

Copy link
Copy Markdown
Member

The preflight loop parsed every package manifest up front and the apply
loop reused those in-memory copies. Bumping a package rewrites the
on-disk manifests of its workspace dependents, so a package bumped after
its dependencies had those rewrites on disk - but its own bump step then
saved its stale pre-bump snapshot, silently reverting them.

esp-hal is bumped last and depends on nearly every other released crate,
so it lost all of its intra-workspace dependency bumps (e.g. the
esp-config build-dependency stayed at the old requirement), which broke
the release build. Re-read each manifest from disk immediately before
bumping so dependency rewrites from earlier steps are preserved.

Regression from #5644, which moved the manifest load into an up-front
preflight loop and reused the parsed copies.

I already used this commit in the latest rc release.

MabezDev and others added 2 commits August 24, 2026 15:00
The preflight loop parsed every package manifest up front and the apply
loop reused those in-memory copies. Bumping a package rewrites the
on-disk manifests of its workspace dependents, so a package bumped after
its dependencies had those rewrites on disk - but its own bump step then
saved its stale pre-bump snapshot, silently reverting them.

esp-hal is bumped last and depends on nearly every other released crate,
so it lost all of its intra-workspace dependency bumps (e.g. the
esp-config build-dependency stayed at the old requirement), which broke
the release build. Re-read each manifest from disk immediately before
bumping so dependency rewrites from earlier steps are preserved.

Regression from esp-rs#5644, which moved the manifest load into an up-front
preflight loop and reused the parsed copies.

Co-authored-by: Cursor <cursoragent@cursor.com>
find_existing_pr can miss a just-created PR because GitHub's PR listing
lags for a moment after execute-plan force-pushes the release branch. On
a re-run the lookup returned nothing, so `gh pr create` ran a second time
and re-applied every release label and re-requested code-owner reviews,
which showed up as duplicated PR timeline entries.

Recover from `gh pr create`'s "a pull request ... already exists" error
by parsing the existing PR number and editing that PR (title and body
only) instead of bailing or opening a duplicate. Labels are still applied
exactly once, on first creation, so a maintainer removing one to skip its
optional CI check is respected.

Co-authored-by: Cursor <cursoragent@cursor.com>
@MabezDev MabezDev added skip-changelog No changelog modification needed skip-semver-checks labels Aug 25, 2026
@MabezDev
MabezDev added this pull request to the merge queue Aug 26, 2026
Merged via the queue into esp-rs:main with commit 0d38c38 Aug 26, 2026
59 of 72 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog No changelog modification needed skip-semver-checks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants