name: CI on: push: branches: [main] pull_request: permissions: contents: read jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 cache: npm - run: npm ci # The build's `prebuild` step fetches a data snapshot from PokéAPI. # Cache it so only the first run (or a change to the script) pays that # cost; CI only needs *a* snapshot to prove the build compiles. - name: Cache PokéAPI snapshot uses: actions/cache@v4 with: path: src/data/snapshot.json key: pokeapi-snapshot-${{ hashFiles('scripts/build-snapshot.mjs') }} - run: npm run build