Skip to content

chore(deps): update dependency typescript-eslint to v8.59.3 #2402

chore(deps): update dependency typescript-eslint to v8.59.3

chore(deps): update dependency typescript-eslint to v8.59.3 #2402

Workflow file for this run

name: Build
on:
push:
branches: ['**']
pull_request:
branches: ['**']
# Shared setup steps are expressed as a reusable composite via the
# "install" pattern below (each job restores the pnpm cache independently
# so jobs can run fully in parallel without waiting on each other).
jobs:
# ─────────────────────────────────────────────
# Job 1: Lint – fastest feedback, no build needed
# ─────────────────────────────────────────────
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v6
with:
run_install: false
- uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm lint
# ─────────────────────────────────────────────
# Job 2: Unit tests + coverage upload
# ─────────────────────────────────────────────
test:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v6
with:
run_install: false
- uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Unit tests
run: pnpm test:headless
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/vitest/lcov.info
# ─────────────────────────────────────────────
# Job 3: Build – produces dist artifact for E2E
# ─────────────────────────────────────────────
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v6
with:
run_install: false
- uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build application
run: pnpm build
# ─────────────────────────────────────────────
# Job 4: E2E – uses ng serve, runs in parallel
# ─────────────────────────────────────────────
e2e:
name: E2E Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v6
with:
run_install: false
- uses: actions/setup-node@v6
with:
node-version: '24'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install Playwright browsers
run: pnpm playwright install chromium --with-deps
- name: E2E tests
run: pnpm e2e:chromium
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@v7
with:
name: playwright-report
path: playwright-report/
retention-days: 7
# ─────────────────────────────────────────────
# Job 5: Docs – fully independent, Java-based
# ─────────────────────────────────────────────
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'temurin'
- name: Cache Gradle modules
uses: actions/cache@v5
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build documentation
run: ./gradlew doc
- name: Deploy documentation to GitHub Pages
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: ./build/docs/gh-pages
branch: gh-pages
clean: false