chore(deps): bump the quality-checks group across 1 directory with 18 updates #19
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: CI | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: {} | |
| jobs: | |
| changes: | |
| name: Changes | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| outputs: | |
| quality: ${{ steps.changed-files.outputs.quality_any_changed }} | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Check changed files | |
| id: changed-files | |
| uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 | |
| with: | |
| files_yaml: | | |
| quality: | |
| - "**" | |
| - "!**.md" | |
| - "!.gitignore" | |
| - "!.gitattributes" | |
| - "!.vscode/**" | |
| - "!.env.example" | |
| quality_checks: | |
| name: ${{ matrix.name }} | |
| needs: [changes] | |
| if: ${{ needs.changes.outputs.quality == 'true' }} | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| strategy: | |
| matrix: | |
| include: | |
| - name: Lint | |
| check: lint | |
| - name: Format | |
| check: format | |
| - name: Test | |
| check: test | |
| - name: Build | |
| check: build | |
| - name: TypeScript | |
| check: typecheck | |
| - name: Spell Check | |
| check: spell | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Restore Turborepo Cache | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| path: .turbo | |
| key: ${{ runner.os }}-turbo-${{ matrix.check }}-${{ github.sha }} | |
| restore-keys: ${{ runner.os }}-turbo-${{ matrix.check }}- | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| run_install: false | |
| - name: Setup Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Run ${{ matrix.name }} | |
| run: pnpm turbo run ${{ matrix.check }} | |
| - name: Upload Build Artifact | |
| if: matrix.name == 'Build' | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: build-dist-${{ github.sha }} | |
| path: dist/ | |
| playwright: | |
| name: Playwright Tests | |
| needs: [changes, quality_checks] | |
| if: ${{ needs.changes.outputs.quality == 'true' }} | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| container: | |
| image: mcr.microsoft.com/playwright:v1.59.1-noble | |
| options: --user 1001 | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Restore Turborepo Cache | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| path: .turbo | |
| key: ${{ runner.os }}-turbo-${{ github.sha }} | |
| restore-keys: ${{ runner.os }}-turbo- | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| with: | |
| run_install: false | |
| - name: Setup Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 24 | |
| cache: pnpm | |
| - name: Download Build Artifact | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| path: dist/ | |
| pattern: build-dist* | |
| merge-multiple: true | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Run Playwright Tests | |
| run: pnpm turbo run test:playwright | |
| timeout-minutes: 10 | |
| verify: | |
| name: Verify | |
| needs: [changes, quality_checks, playwright] | |
| runs-on: ubuntu-latest | |
| if: always() | |
| permissions: {} | |
| outputs: | |
| success: ${{ steps.set-result.outputs.success }} | |
| steps: | |
| - name: Set Result | |
| id: set-result | |
| env: | |
| CHANGES_EXIST: ${{ needs.changes.outputs.quality }} | |
| HAS_FAILURE: ${{ contains(needs.*.result, 'failure') }} | |
| HAS_CANCELLED: ${{ contains(needs.*.result, 'cancelled') }} | |
| run: | | |
| # Check if changes exist but no jobs ran, or if any job failed or was cancelled | |
| if [[ "$CHANGES_EXIST" != "true" ]]; then | |
| echo "success=true" >> $GITHUB_OUTPUT | |
| echo "No relevant changes detected - pipeline passed" | |
| elif [[ "$HAS_FAILURE" == "true" || "$HAS_CANCELLED" == "true" ]]; then | |
| echo "success=false" >> $GITHUB_OUTPUT | |
| echo "Pipeline failed - some jobs failed or were cancelled" | |
| exit 1 | |
| else | |
| echo "success=true" >> $GITHUB_OUTPUT | |
| echo "All jobs completed successfully" | |
| fi |