Skip to content

feat!: migrate to the node24 runtime #93

feat!: migrate to the node24 runtime

feat!: migrate to the node24 runtime #93

Workflow file for this run

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