Skip to content

Commit cee8b01

Browse files
authored
fix(ci): unbreak the release pipeline (unpublished versions + main going red) (#267)
* fix(ci): stop changesets from stamping a skip-ci directive on the version commit `.changeset/config.json` had `"commit": true`, which changesets normalizes to `["@changesets/cli/commit", { skipCI: "version" }]`. That makes `changeset version` create the version commit itself, appending GitHub's skip-ci directive to the message: RELEASING: Releasing 1 package(s) Releases: react-router-devtools@6.2.2 <skip-ci directive> Two consequences: 1. The `commit: "chore: release"` message configured in the Release workflow was never used, because the action had nothing left to commit. 2. The directive survived the merge of the Release PR onto main, so GitHub skipped every workflow on that push. The Release workflow -- the only thing that runs `changeset publish` -- never fired. Net effect: merging a Release PR bumped the version, wrote the CHANGELOG and consumed the changeset, but published nothing. This bit 6.2.2 (bumped in #263 on Jun 19, never reached npm; zero workflow runs recorded against that commit). It was latent before that only because an unrelated push to main happened soon after each release and picked up the publish by accident -- that is how 6.2.1 shipped. Setting `"commit": false` leaves the commit to changesets/action, which uses the workflow's `chore: release` message with no skip directive, so merging a Release PR triggers Release and publishes. Note: this message deliberately avoids spelling the directive literally, since GitHub matches it anywhere in a commit message -- an earlier draft of this very commit skipped its own CI. * fix(ci): keep main formatted after a release version bump `changeset version` rewrites `packages/react-router-devtools/package.json` with its own JSON printer, which expands `"files": ["dist"]` onto three lines. Biome wants it collapsed, so every release commit lands a formatting violation on main, and Biome lint then fails on that commit and on every PR opened afterwards until somebody notices and collapses it by hand. It has been ping-ponging for three releases straight: a46c47f RELEASING: ... expands (release breaks it) 0263127 ci: harden release collapses (hand fix) becd7c9 RELEASING: ... expands (release breaks it again) main is currently in the expanded state, which is why the Validation Pipeline went red on the Vite 8 PR and on the first push of this branch. Chaining `biome format --write .` after `changeset version` closes the loop, so the version commit is formatted when it is created rather than after the fact. Same chain added to `local-release` so manual releases behave identically. Verified end to end with a scratch changeset: `changeset version` expands the array, the formatter collapses it back ("Fixed 1 file"), and `biome check .` passes across all 224 files. Also confirms the companion `"commit": false` change works -- changesets now reports "Review them and commit at your leisure" instead of creating its own commit. The collapse of `files` in this commit repairs main's current state.
1 parent becd7c9 commit cee8b01

3 files changed

Lines changed: 4 additions & 6 deletions

File tree

.changeset/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://unpkg.com/@changesets/config@3.0.2/schema.json",
33
"changelog": "@changesets/cli/changelog",
4-
"commit": true,
4+
"commit": false,
55
"fixed": [],
66
"linked": [],
77
"access": "public",

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
"check:fix": "biome check --fix .",
4141
"changeset": "changeset",
4242
"release": "changeset publish",
43-
"local-release": "changeset version && changeset publish",
44-
"version": "changeset version",
43+
"local-release": "changeset version && biome format --write . && changeset publish",
44+
"version": "changeset version && biome format --write .",
4545
"test:unused": "knip",
4646
"test:deps": "sherif -i react-router-devtools -i tailwindcss -p react-router-v8-vite",
4747
"watch": "pnpm run build:all && nx watch --all -- pnpm run build:all"

packages/react-router-devtools/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,7 @@
5555
"default": "./dist/server.js"
5656
}
5757
},
58-
"files": [
59-
"dist"
60-
],
58+
"files": ["dist"],
6159
"repository": {
6260
"type": "git",
6361
"url": "git+https://github.com/code-forge-io/react-router-devtools.git"

0 commit comments

Comments
 (0)