@@ -122,6 +122,42 @@ jobs:
122122
123123 - run : bun run lint
124124
125+ changesets :
126+ name : Changesets
127+ runs-on : blacksmith-4vcpu-ubuntu-2404
128+ timeout-minutes : 10
129+ steps :
130+ - uses : actions/checkout@v4
131+
132+ - uses : oven-sh/setup-bun@v2
133+ with :
134+ bun-version : 1.3.11
135+
136+ - name : Cache Bun package cache
137+ uses : actions/cache@v4
138+ with :
139+ path : ~/.bun/install/cache
140+ key : ${{ runner.os }}-bun-1.3.11-${{ hashFiles('bun.lock') }}
141+ restore-keys : |
142+ ${{ runner.os }}-bun-1.3.11-
143+
144+ - run : bun install --frozen-lockfile --ignore-scripts
145+
146+ # `changeset status` assembles the same release plan that `changeset
147+ # version` builds on main, so it rejects a mixed changeset (one that names
148+ # a package from the config `ignore` list next to a publishable one)
149+ # before it can break the release workflow. Release only runs on push to
150+ # main, so that error used to surface only after the merge.
151+ #
152+ # After the plan, `status` diffs HEAD against `baseBranch` (main) to
153+ # demand a changeset for every changed package. This repo does not require
154+ # that, and a pull request checkout has no local `main` ref at all, so the
155+ # diff errors out. Point `main` at HEAD (a no-op on push to main) so the
156+ # diff is empty and the job checks only the release plan.
157+ - run : git update-ref refs/heads/main HEAD
158+
159+ - run : bun run changeset status
160+
125161 typecheck :
126162 name : Typecheck
127163 runs-on : blacksmith-4vcpu-ubuntu-2404
0 commit comments