fix: restore changesets/action v1 and split into v1/v2 lines - #68
Open
unional wants to merge 2 commits into
Open
fix: restore changesets/action v1 and split into v1/v2 lines#68unional wants to merge 2 commits into
unional wants to merge 2 commits into
Conversation
Reverts the Renovate bump in 7c50b05, which moved every changesets workflow to changesets/action@v2.0.0. That major renamed the inputs and added a hard check on the consumer's @changesets/cli major. Six of the seven workflows still pass the v1 names (commit / version / publish), which v2 rejects outright: Error: The following inputs have been renamed: - "publish" -> "publish-script" - "version" -> "version-script" - "commit" -> "commit-mesage" and all seven would additionally fail for consumers on CLI v2: This version of the Changesets action is designed to work with Changesets CLI v3. Changesets CLI v2 is not supported; use Changesets action v1 instead. Eleven of the thirteen consumers of pnpm-release-changeset.yml are on @changesets/cli v2, so main stays the v1 line. The two on v3 (monorepo-template, stable-context) move to the v2 tag, cut from v2.x. Same defect and same fix as repobuddy/.github#45. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This repo has never been tagged and every consumer pins @main, so every change reaches all of them the instant it merges. Combined with Mergify auto-merging Renovate PRs, that is how a changesets/action major broke every changesets consumer at once with no human in the loop. Adopt semver tags plus a moving major alias, and split the changesets workflows into two lines, because changesets/action and @changesets/cli are a matched pair the action validates at runtime: v1 (main) -> changesets/action@v1 -> @changesets/cli v2 v2 (v2.x) -> changesets/action@v2 -> @changesets/cli v3 Consumers pick a tag by their CLI major, not by recency. Mirrors repobuddy/.github's scheme; the two repos share these workflows and should not diverge on how they are versioned. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
|
Tick the box to add this pull request to the merge queue (same as
|
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.
Same defect, same fix as repobuddy/.github#45. Found while fixing that one — these two repos share these workflows.
What is broken
Renovate bumped
changesets/actionv1 → v2 (7c50b05) and Mergify auto-merged it. That major renamed every input and added a hard check on the consumer's@changesets/climajor.All seven changesets workflows here are on
@v2.0.0while still passing the v1 input names, so six of them abort outright:and all seven fail for consumers on CLI v2:
Every consumer pins
@main, so every changesets release path in the org is broken right now. Most repos have not noticed because they have not released since.Why two lines, not one fix
changesets/actionand@changesets/cliare strictly paired, and the action enforces it:v1version,publish,commitv2version-script,publish-script,commit-messageConsumers are split across both majors, so no single workflow serves them:
@changesets/climonorepo-template^3.0.0,stable-context^3.0.0@v2assertron^2.26.2,async-fp^2.26.0,iso-error2.31.1,jest-watch-repeat^2.25.2,never-fail^2.25.0,path-equal^2.26.0,satisfier^2.26.2,standard-log^2.25.0,tersify^2.29.8,type-plus^2.29.8,unpartial^2.25.0@v1(
eslint-plugin-harmonyuses the workflow but declares no@changesets/clidependency at all — worth a look separately; it belongs on@v1either way.)What this PR does
mainbecomes the v1 line: reverts all seven workflows tochangesets/action@v1. That alone unbreaks the eleven CLI-v2 consumers, who stay correct on@mainin the meantime.Adds a README section documenting the scheme, the pin-by-CLI-major rule, and the release procedure.
The v2 line is on the pushed
v2.xbranch: all seven on@v2.0.0with renamed inputs.yarn2-library-release.ymlkeeps its commented-outwith:block — no live inputs to rename there.After merge
Then
monorepo-templateandstable-contextmove to@v2— they are the two that stay broken until they do. The other eleven can move to@v1at leisure.Not fixed here
Mergify's
head~=^(?!major-)guard is meant to hold majors back, but Renovate does not prefix these branches withmajor-, so it never matches and majors merge unreviewed. That is how this landed. Separate defect.