Skip to content

chore(deps-dev): bump @types/node from 20.19.37 to 25.9.2 #102

chore(deps-dev): bump @types/node from 20.19.37 to 25.9.2

chore(deps-dev): bump @types/node from 20.19.37 to 25.9.2 #102

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]
jobs:
lint-and-type-check:
name: Lint and Type Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v6
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: '20'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run ESLint
run: pnpm run lint
- name: Run TypeScript type check
run: pnpm run type-check
unit-tests:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v6
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: '20'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run unit tests
run: pnpm run test
- name: Generate coverage report
run: pnpm run test:coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
if: always()
with:
files: ./coverage/coverage-final.json
flags: unittests
fail_ci_if_error: false
e2e-tests:
name: E2E Tests
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v6
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: '20'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Install Playwright browsers
run: pnpm exec playwright install --with-deps
- name: Build application
run: pnpm run build
- name: Run Playwright tests
run: pnpm exec playwright test
- name: Upload Playwright report
uses: actions/upload-artifact@v5
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
build:
name: Build Application
runs-on: ubuntu-latest
needs: [lint-and-type-check, unit-tests]
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v6
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: '20'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build Next.js application
run: pnpm run build
- name: Upload build artifacts
uses: actions/upload-artifact@v5
with:
name: build-output
path: .next/
retention-days: 7
lighthouse:
name: Lighthouse CI
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v6
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: '20'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build application
run: pnpm run build
- name: Run Lighthouse CI
run: |
pnpm install -g @lhci/cli@0.14.x
lhci autorun || echo "Lighthouse CI failed, continuing..."
env:
LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
deploy-preview:
name: Deploy Preview (Vercel)
runs-on: ubuntu-latest
needs: [lint-and-type-check, unit-tests]
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v5
- name: Deploy to Vercel
uses: amondnet/vercel-action@v25
with:
vercel-token: ${{ secrets.VERCEL_TOKEN }}
vercel-org-id: ${{ secrets.VERCEL_ORG_ID }}
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID }}
github-comment: true