Repository navigation
v1.1.0: open-source release #5
Workflow file for this run
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 | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| check: | |
| name: typecheck + test + build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # No `version:` input on purpose: action-setup v4 reads | |
| # `packageManager` from package.json, so CI cannot drift from local. | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .nvmrc | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile | |
| - run: pnpm typecheck | |
| - run: pnpm test | |
| - run: pnpm build | |
| # `pnpm build` runs scripts/gen-icons.mjs, so a change to the generator or | |
| # to --accent repaints these. Committed PNGs that the generator no longer | |
| # produces are a silent drift no other step can see. | |
| - run: git diff --exit-code -- public/icons store | |
| # The packer has no test, it writes a binary nothing else reads, so the | |
| # only cheap guard is that it still runs over a real build. `release/` is | |
| # gitignored, so this cannot dirty the diff above. Called directly rather | |
| # than through `pnpm package`, which would rebuild `dist/` a second time. | |
| - run: node scripts/package.mjs |