Skip to content

Commit 499da96

Browse files
committed
Check changesets in CI
1 parent 3890d6f commit 499da96

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)