You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-ups from the PR #2248 reviews (release-page composer, #2234). None affects the v0.3.0-rc.1 publish path; all recorded at the two-round ceiling rather than fix-cycled.
Rehearsals cannot preview the real page. A blank-tag no-publish dispatch resolves to v0.0.0-dryrun+<sha7>, so the composer always takes the prerelease fallback (no ## v0.0.0-dryrun UPGRADING section, no notes file) and the uploaded composed-page-body is not a preview of the page the real tag will render. Add a preview_tag dispatch input (prospective tag used only for rendering, never for publishing) so a rehearsal can prove the stable fail-closed path and show the actual body before the tag.
Changelog base is the globally newest stable, not the stable preceding the target.gh release list --exclude-pre-releases --exclude-drafts --limit 1 picks by release date; re-running v0.3.0-rc.1 after v0.3.0 exists would send previous_tag_name=v0.3.0. Select the newest stable tag that sorts before the target (semver compare against the tag being built); the same call is unretried under set -e (fails closed) — give it the same bounded retry as generate-notes.
scripts/ci/compose-release-notes.test.mjs is not run by any workflow (33 tests). Add one node --test line beside the dispatch suite in ci-required.yml.
extractUpgradingSection stops at any #/## line, including inside a fenced code block; relative anchors lifted from UPGRADING are dead links on a release page.
Follow-ups from the PR #2248 reviews (release-page composer, #2234). None affects the
v0.3.0-rc.1publish path; all recorded at the two-round ceiling rather than fix-cycled.no-publishdispatch resolves tov0.0.0-dryrun+<sha7>, so the composer always takes the prerelease fallback (no## v0.0.0-dryrunUPGRADING section, no notes file) and the uploadedcomposed-page-bodyis not a preview of the page the real tag will render. Add apreview_tagdispatch input (prospective tag used only for rendering, never for publishing) so a rehearsal can prove the stable fail-closed path and show the actual body before the tag.scripts/ci/compose-release-notes.mjsfrom it;v0.2.0(48c05e1dc) has no such file, so a resumable re-publish of an older tag dies withMODULE_NOT_FOUNDafter the full build. Decide: run workflow tooling from the workflow revision (separate checkout path) while reading release content from the tagged commit, or document that pre-0.3 tags are not re-dispatchable.gh release list --exclude-pre-releases --exclude-drafts --limit 1picks by release date; re-runningv0.3.0-rc.1afterv0.3.0exists would sendprevious_tag_name=v0.3.0. Select the newest stable tag that sorts before the target (semver compare against the tag being built); the same call is unretried underset -e(fails closed) — give it the same bounded retry asgenerate-notes.scripts/ci/compose-release-notes.test.mjsis not run by any workflow (33 tests). Add onenode --testline beside the dispatch suite inci-required.yml.extractUpgradingSectionstops at any#/##line, including inside a fenced code block; relative anchors lifted from UPGRADING are dead links on a release page.