Skip to content

Bump @types/node from 22.10.5 to 22.10.6 #22

Bump @types/node from 22.10.5 to 22.10.6

Bump @types/node from 22.10.5 to 22.10.6 #22

Workflow file for this run

name: Build, Tests, and Deploy
on:
push:
branches:
- main
- develop
- 'feature/**'
- 'release/**'
paths:
- '**.js'
- '**.ts'
- '**.jsx'
- '**.tsx'
- '**.json'
- '**.yml'
- 'public/**'
- '__tests__/**'
- '__e2e__/**'
pull_request:
branches:
- main
- develop
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
env:
NODE_VERSION: 20.x
jobs:
build:
name: Build Application
runs-on: ubuntu-24.04
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
- name: Install Dependencies
run: npm ci
- name: Build Application
run: npm run build
- name: Cache Build Output
uses: actions/cache@v4
with:
path: |
.next/cache
node_modules
key: build-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
jest-test:
name: Run Jest Tests
needs: build
runs-on: ubuntu-24.04
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
- name: Install Dependencies
run: npm ci
- name: Run Jest Tests
run: npm run test:coverage
- name: Upload Jest Coverage Report to Codecov
if: always()
uses: codecov/codecov-action@v5
with:
verbose: true
token: ${{ secrets.CODECOV_TOKEN }}
playwright-test:
name: Run Playwright Tests
needs: jest-test
runs-on: ubuntu-24.04
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
- name: Install Dependencies
run: npm ci
- name: Install Playwright and Browsers
run: npx playwright install --with-deps
- name: Run Playwright Tests
run: npx playwright test
- name: Upload Playwright Test Results
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: playwright-report/
retention-days: 30
deploy:
name: Deploy to Vercel
needs: playwright-test
if: ${{ github.ref_name == 'main' && success() }}
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
runs-on: ubuntu-24.04
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
- name: Install Vercel CLI
run: |
npm install -g vercel@latest
vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
- name: Build Project Artifacts
run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
- name: Deploy Project Artifacts to Vercel
run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}
summary:
name: Set Step Summary
needs: deploy
if: ${{ success() }}
runs-on: ubuntu-24.04
steps:
- name: Set step Summary
run: |
echo 'Deployment to Vercel successful 🚀' >> $GITHUB_STEP_SUMMARY