Skip to content

chore(deps): bump the production-dependencies group across 1 directory with 11 updates #131

chore(deps): bump the production-dependencies group across 1 directory with 11 updates

chore(deps): bump the production-dependencies group across 1 directory with 11 updates #131

Workflow file for this run

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
NODE_VERSION: '20'
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint -- -- --max-warnings=0
typecheck:
name: Type Check
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Type check
run: npm run type-check
format:
name: Format Check
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Format check
run: npm run format:check
build-and-test:
name: Build & Test (Node ${{ matrix.node-version }})
runs-on: ubuntu-latest
needs: [lint, typecheck, format]
timeout-minutes: 20
strategy:
matrix:
node-version: [20, 22, 24]
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build packages
run: npm run build
- name: Run tests with coverage
run: npm run test -- -- --coverage --maxWorkers=2
- name: Build docs site
run: npm run docs:build
- name: Upload coverage to Codecov
if: matrix.node-version == 20
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/coverage-final.json
flags: unittests
fail_ci_if_error: false
- name: Upload docs artifact
if: matrix.node-version == 20
uses: actions/upload-artifact@v6
with:
name: docs-dist
path: docs-dist
retention-days: 7
ci-success:
name: CI Success
runs-on: ubuntu-latest
needs: [lint, typecheck, format, build-and-test]
if: always()
steps:
- name: Check all jobs
run: |
if [[ "${{ needs.lint.result }}" != "success" ]] || \
[[ "${{ needs.typecheck.result }}" != "success" ]] || \
[[ "${{ needs.format.result }}" != "success" ]] || \
[[ "${{ needs.build-and-test.result }}" != "success" ]]; then
echo "One or more jobs failed"
exit 1
fi