docs(theming): explain why a blanket bridge selector outranks class c… #73
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
| name: CI | |
| # The same gates the publish flow enforces, run at review time: a PR (or | |
| # a merge-queue batch) that would fail the release fails here instead. | |
| # merge_group is required for GitHub merge queues to have checks to run. | |
| on: | |
| pull_request: | |
| merge_group: | |
| push: | |
| branches: | |
| - main | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| verify: | |
| name: Verify | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Clone repository | |
| uses: actions/checkout@v4 | |
| with: | |
| # release.ts status diffs each module against its own | |
| # release tags; the default shallow clone has neither | |
| # tags nor history. | |
| fetch-depth: 0 | |
| - name: Clone classmaps | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: spicetify/classmaps | |
| path: classmaps | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "24" | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Format | |
| run: pnpm fmt:check | |
| # The full release build: module-standard error tier enforced, | |
| # every module must stitch. Runs before Check because the build | |
| # generates each module's classmap.d.ts, which tsc needs. | |
| - name: Build modules | |
| run: node scripts/stitch.ts | |
| # tsc + oxlint + check-deps (dependency ranges vs versions+compat) | |
| - name: Check | |
| run: pnpm check | |
| - name: Test modules | |
| run: pnpm test | |
| - name: Test kit | |
| run: npm test --prefix packages/kit | |
| - name: Test installs-api | |
| run: npm test --prefix packages/installs-api | |
| # A changed module must carry a new, unpublished version or the | |
| # next release would overwrite a live vault entry. Hard in PR | |
| # and merge-queue contexts (pre-merge enforcement works there); | |
| # on direct pushes it degrades to a job-summary warning, and the | |
| # release workflow only ever publishes bumped versions anyway. | |
| - name: Check version bumps | |
| if: github.event_name != 'push' | |
| run: node scripts/release.ts status | |
| - name: Unreleased work summary | |
| if: github.event_name == 'push' | |
| run: node scripts/release.ts status --summary --soft >> "$GITHUB_STEP_SUMMARY" |