Skip to content

chore(deps): update node to v22 #3092

chore(deps): update node to v22

chore(deps): update node to v22 #3092

Workflow file for this run

name: 🤖 CI
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CI: true
jobs:
prettier:
name: 🅿️ Prettier
runs-on: ubuntu-latest
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
cache: npm
node-version-file: '.nvmrc'
- name: 📥 Install deps
run: npm install
- name: 💅 Format check
run: npm run format:check
lint:
name: ⬣ ESLint
runs-on: ubuntu-latest
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
cache: npm
node-version-file: '.nvmrc'
- name: 📥 Install deps
run: npm install
- name: 🔬 Lint
run: npm run lint
typecheck:
name: ʦ TypeScript
runs-on: ubuntu-latest
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
cache: npm
node-version-file: '.nvmrc'
- name: 📥 Install deps
run: npm install
- name: 🛠️ Build
run: npm run build
- name: 🔎 Type check
run: npm run typecheck
- name: 📦 Are the types wrong?
run: npx attw --pack --format table
test:
name: 🩺 Tests
runs-on: ubuntu-latest
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
cache: npm
node-version-file: '.nvmrc'
- name: 📥 Install deps
run: npm install
- name: ⚡ Vitest with coverage
run: npm run test:coverage
- name: ☂ Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
playwright:
name: 🎭 Playwright
runs-on: ubuntu-latest
timeout-minutes: 10
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
cache: npm
node-version-file: '.nvmrc'
- name: 📥 Install deps
run: npm install
- name: 🔢 Get Playwright version
run: echo "PLAYWRIGHT_VERSION=$(npx playwright --version | tr ' ' '-')" >> $GITHUB_ENV
- name: 📦 Cache Playwright binaries
id: playwright-cache
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }}
- name: 📥 Install Playwright Browsers
run: npx playwright install --with-deps
if: steps.playwright-cache.outputs.cache-hit != 'true'
- name: 🎭 Playwright tests
run: npm run test:browser:run
- name: 📊 Upload report
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright/report/
retention-days: 30
release:
name: 🚀 Release
runs-on: ubuntu-latest
needs: [prettier, lint, typecheck, test, playwright]
if: github.ref == 'refs/heads/main'
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
cache: npm
node-version-file: '.nvmrc'
- name: 📥 Install deps
run: npm install
- name: 🦋 Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
version: npm run changeset:version
publish: npm run changeset:publish
commit: 'chore: release'
title: 'chore: release'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}