Skip to content

[Release] Composer follow-ups from PR #2248: rehearsal preview tag, legacy-tag re-dispatch, semver changelog base, ungated composer suite #2250

Description

@Chris0Jeky

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.
  • Re-dispatching a pre-ci(release): compose the release page — download button first, BREAKING, highlights, grouped changelog #2248 tag fails at compose time. The workflow checks out the tagged commit (by design, Harden release-desktop.yml workflow_dispatch path: tag-input injection + dispatch provenance (spun out of #1303) #1795) and runs scripts/ci/compose-release-notes.mjs from it; v0.2.0 (48c05e1dc) has no such file, so a resumable re-publish of an older tag dies with MODULE_NOT_FOUND after 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.
  • 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority IIIValuable but unscheduled: residuals, tech-debt, performance, depth work.ciCI/CD pipeline, workflow, and build infrastructure changes.packagingPackaging, distribution, installation, self-contained exe. Windows desktop = primary v0.1.x path.

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions