Showing the changes to .github (1 of 1 file). Show all
Unified · Split
| @@ -122,6 +122,42 @@ jobs: · 121 unmodified lines | ||
| 122 | 122 | |
| 123 | 123 | - run: bun run lint |
| 124 | 124 | |
| 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 | + | |
| 125 | 161 | typecheck: |
| 126 | 162 | name: Typecheck |
| 127 | 163 | runs-on: blacksmith-4vcpu-ubuntu-2404 |