name: Web Tests on: pull_request: branches: - main paths: - web/** concurrency: group: web-tests-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: test: name: Web Tests runs-on: ubuntu-latest defaults: run: working-directory: ./web steps: - name: Checkout code uses: actions/checkout@v4 - name: Check changed files id: changed-files uses: tj-actions/changed-files@v45 with: files: web/** - name: Setup Node.js uses: actions/setup-node@v4 if: steps.changed-files.outputs.any_changed == 'true' with: node-version: 20 cache: yarn cache-dependency-path: ./web/package.json - name: Install dependencies if: steps.changed-files.outputs.any_changed == 'true' run: yarn install --frozen-lockfile - name: Run tests if: steps.changed-files.outputs.any_changed == 'true' run: yarn test