Repository navigation
Add a View on Goodreads button on Amazon book pages #27
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: lint + 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 | |
| # First, because it is the fastest signal: eslint and prettier --check | |
| # together run in a couple of seconds, well under the typecheck. | |
| - run: pnpm lint | |
| - 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 | |
| # 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 |