feat!: migrate to the node24 runtime
#93
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: Tests | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - '**.md' | |
| push: | |
| paths-ignore: | |
| - '**.md' | |
| env: | |
| __PUZL_PUB_CACHE_IS_AVAILABLE: "true" | |
| jobs: | |
| # Build and unit test | |
| static-tests: | |
| runs-on: puzl-ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js 24.x | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24.x | |
| cache: npm | |
| - run: npm ci | |
| - name: Prettier Format Check | |
| run: npm run format-check | |
| - name: ESLint Check | |
| run: npm run lint | |
| - name: Build & Test | |
| run: npm run test | |
| # End to end save and restore | |
| test-save: | |
| runs-on: puzl-ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Generate files in working directory | |
| shell: bash | |
| run: bash __tests__/create-cache-files.sh ${{ runner.os }} test-cache | |
| - name: Generate files outside working directory | |
| shell: bash | |
| run: bash __tests__/create-cache-files.sh ${{ runner.os }} ~/test-cache | |
| - name: Generate files outside working directory | |
| shell: bash | |
| run: bash __tests__/create-cache-files.sh ${{ runner.os }} ./test/dir/dist | |
| - name: Save cache | |
| uses: ./ | |
| with: | |
| key: test-${{ runner.os }}-${{ github.run_id }} | |
| path: | | |
| test-cache | |
| ./test/**/dist | |
| ~/test-cache | |
| - name: tree /.puzl | |
| shell: bash | |
| run: tree /.puzl | |
| test-restore: | |
| needs: test-save | |
| runs-on: puzl-ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: tree /.puzl | |
| shell: bash | |
| run: tree /.puzl | |
| - name: Restore cache | |
| uses: ./ | |
| with: | |
| key: test-${{ runner.os }}-${{ github.run_id }} | |
| path: | | |
| test-cache | |
| ./test/**/dist | |
| ~/test-cache | |
| - name: Verify cache files in working directory | |
| shell: bash | |
| run: bash __tests__/verify-cache-files.sh ${{ runner.os }} test-cache | |
| - name: Verify cache files outside working directory | |
| shell: bash | |
| run: bash __tests__/verify-cache-files.sh ${{ runner.os }} ./test/dir/dist | |
| - name: Verify cache files outside working directory | |
| shell: bash | |
| run: bash __tests__/verify-cache-files.sh ${{ runner.os }} ~/test-cache | |
| test-cleanup: | |
| needs: test-restore | |
| runs-on: puzl-ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Cleanup old caches | |
| shell: bash | |
| run: bash -x cleanup.sh | |
| test-save-only: | |
| runs-on: puzl-ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Generate files in working directory | |
| shell: bash | |
| run: bash __tests__/create-cache-files.sh ${{ runner.os }} test-separate-actions | |
| - name: Generate files outside working directory | |
| shell: bash | |
| run: bash __tests__/create-cache-files.sh ${{ runner.os }} ~/test-separate-actions | |
| - name: Generate files outside working directory | |
| shell: bash | |
| run: bash __tests__/create-cache-files.sh ${{ runner.os }} ./test/dir/dist | |
| - name: Save cache | |
| uses: ./save | |
| with: | |
| key: test-separate-${{ runner.os }}-${{ github.run_id }} | |
| path: | | |
| test-separate-actions | |
| ./test/**/dist | |
| ~/test-separate-actions | |
| - name: tree /.puzl | |
| shell: bash | |
| run: tree /.puzl | |
| test-restore-only: | |
| needs: test-save-only | |
| runs-on: puzl-ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: tree /.puzl | |
| shell: bash | |
| run: tree /.puzl | |
| - name: Restore cache | |
| uses: ./restore | |
| with: | |
| key: test-separate-${{ runner.os }}-${{ github.run_id }} | |
| path: | | |
| test-separate-actions | |
| ./test/**/dist | |
| ~/test-separate-actions | |
| - name: Verify cache files in working directory | |
| shell: bash | |
| run: bash __tests__/verify-cache-files.sh ${{ runner.os }} test-separate-actions | |
| - name: Verify cache files outside working directory | |
| shell: bash | |
| run: bash __tests__/verify-cache-files.sh ${{ runner.os }} ./test/dir/dist | |
| - name: Verify cache files outside working directory | |
| shell: bash | |
| run: bash __tests__/verify-cache-files.sh ${{ runner.os }} ~/test-separate-actions | |
| test-cleanup-restore-only: | |
| needs: test-restore-only | |
| runs-on: puzl-ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Cleanup old caches | |
| shell: bash | |
| run: bash -x cleanup.sh |