Skip to content

chore(deps): update all dependencies #1656

chore(deps): update all dependencies

chore(deps): update all dependencies #1656

Workflow file for this run

name: Node.js CI
on:
push:
branches: [main]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build:
name: build (${{ matrix.node-version }})
runs-on: ubuntu-latest
strategy:
matrix:
node-version: &node-versions [^22, ^24, ^26]
env:
NODE_VERSION: ${{ matrix.node-version }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- name: setup
uses: ./.github/actions/setup-node-pnpm
with:
node-version: ${{ matrix.node-version }}
- run: pnpm ci
- name: adjust @types/node version
run: |
sed -i 's/\("@types\/node": \).*/\1'"${NODE_VERSION}"'/' pnpm-workspace.yaml
pnpm i --no-frozen-lockfile
- run: pnpm run build
- run: pnpm run ci-lint
- name: Check for uncommitted changes
run: ./scripts/assert-clean-working-directory.sh
- name: Create workspace archive
env:
RUNNER_TEMP: ${{ runner.temp }}
run: |
tar --exclude='./node_modules' \
--exclude='./**/node_modules' \
--exclude='./.git' \
--exclude='./coverage' \
--exclude='./**/*.log' \
-cvf "${RUNNER_TEMP}/workspace.tar" .
- name: Upload workspace
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: workspace-${{ matrix.node-version }}
path: ${{ runner.temp }}/workspace.tar
retention-days: 7
build-docs:
name: build-docs (${{ matrix.node-version }})
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [^26]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- name: setup
uses: ./.github/actions/setup-node-pnpm
with:
node-version: ${{ matrix.node-version }}
- uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
id: nextjs-cache
with:
path: packages/documentation/.next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('pnpm-lock.yaml') }}-
- name: Download built workspace
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: workspace-${{ matrix.node-version }}
path: ${{runner.temp}}
- name: Extract workspace
env:
RUNNER_TEMP: ${{ runner.temp }}
run: |
tar -xf "${RUNNER_TEMP}/workspace.tar" -C .
- run: pnpm ci
- run: pnpm run build:docs
unit:
name: unit (${{ matrix.node-version }})
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: *node-versions
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- name: setup
uses: ./.github/actions/setup-node-pnpm
with:
node-version: ${{ matrix.node-version }}
- name: Download built workspace
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: workspace-${{ matrix.node-version }}
path: ${{runner.temp}}
- name: Extract workspace
env:
RUNNER_TEMP: ${{ runner.temp }}
run: |
tar -xf "${RUNNER_TEMP}/workspace.tar" -C .
- run: pnpm ci
- run: pnpm run ci-test
- name: Check for uncommitted changes
run: ./scripts/assert-clean-working-directory.sh
integration:
name: integration (${{ matrix.node-version }}, ${{ matrix.schema-builder }})
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: *node-versions
schema-builder: [joi, zod-v3, zod-v4]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- name: setup
uses: ./.github/actions/setup-node-pnpm
with:
node-version: ${{ matrix.node-version }}
- name: Download built workspace
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: workspace-${{ matrix.node-version }}
path: ${{runner.temp}}
- name: Extract workspace
env:
RUNNER_TEMP: ${{ runner.temp }}
run: |
tar -xf "${RUNNER_TEMP}/workspace.tar" -C .
- run: pnpm ci
- run: pnpm run integration:clean
- run: pnpm run integration:generate --schema-builder "${SCHEMA_BUILDER}"
env:
SCHEMA_BUILDER: ${{ matrix.schema-builder }}
- run: pnpm run integration:validate
- name: Check for uncommitted changes
if: ${{ matrix.schema-builder == 'zod-v4' }}
run: ./scripts/assert-clean-working-directory.sh
e2e:
name: e2e (${{ matrix.node-version }})
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
node-version: *node-versions
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- name: setup
uses: ./.github/actions/setup-node-pnpm
with:
node-version: ${{ matrix.node-version }}
- name: Download built workspace
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: workspace-${{ matrix.node-version }}
path: ${{runner.temp}}
- name: Extract workspace
env:
RUNNER_TEMP: ${{ runner.temp }}
run: |
tar -xf "${RUNNER_TEMP}/workspace.tar" -C .
- run: pnpm ci
- run: SCHEMA_BUILDER=zod-v3 pnpm run e2e:generate
- run: pnpm run e2e:validate
- run: SCHEMA_BUILDER=zod-v4 pnpm run e2e:generate
- run: pnpm run e2e:validate
- name: Check for uncommitted changes
run: ./scripts/assert-clean-working-directory.sh
windows:
name: windows
runs-on: windows-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- name: Install pnpm
uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10
- name: Use Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
registry-url: "https://registry.npmjs.org"
node-version: 26.6.0
cache: "pnpm"
- run: pnpm ci
- run: pnpm run build
# todo: make unit tests compatible with windows hosts
# - run: pnpm run test
- run: pnpm run integration:generate --schema-builder=zod-v4
shell: bash
- run: pnpm run integration:validate
shell: bash
- run: pnpm run e2e:generate
shell: bash
- run: pnpm run e2e:validate
shell: bash
- run: ./scripts/assert-clean-working-directory.sh
shell: bash