Skip to content

chore(deps): bump the quality-checks group across 1 directory with 18 updates #19

chore(deps): bump the quality-checks group across 1 directory with 18 updates

chore(deps): bump the quality-checks group across 1 directory with 18 updates #19

Workflow file for this run

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