Skip to content

chore(deps): update all non-major dev dependencies #73

chore(deps): update all non-major dev dependencies

chore(deps): update all non-major dev dependencies #73

Workflow file for this run

name: 🧪 Test (PR)
on:
pull_request:
paths-ignore:
- 'docs/**'
- 'coverage/**'
- 'tmp/**'
- 'version-bench/**'
- '**/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
build_native:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04
arch: x64
platform-arch: linux-x64-gnu
- os: macos-14
arch: arm64
platform-arch: darwin-arm64
name: "Build native addon - ${{ matrix.platform-arch }}"
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
architecture: ${{ matrix.arch }}
cache: npm
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust builds
uses: Swatinem/rust-cache@v2
with:
workspaces: rust -> target
shared-key: pr-native-${{ matrix.platform-arch }}
- name: Install dependencies
run: npm ci
- name: Build native module
run: npm run build:rust
- name: Smoke test native addon
env:
WREQ_PLATFORM_ARCH: ${{ matrix.platform-arch }}
run: node scripts/smoke-native.cjs
- name: Upload native addon artifact
uses: actions/upload-artifact@v6
with:
name: bindings-${{ matrix.platform-arch }}
path: rust/*.node
if-no-files-found: error
test_pr:
needs: build_native
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04
node-version: 20
arch: x64
platform-arch: linux-x64-gnu
- os: ubuntu-24.04
node-version: 24
arch: x64
platform-arch: linux-x64-gnu
- os: macos-14
node-version: 24
arch: arm64
platform-arch: darwin-arm64
name: "Tests: Node ${{ matrix.node-version }} (${{ matrix.arch }}) - ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
architecture: ${{ matrix.arch }}
cache: npm
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Download native addon artifact
uses: actions/download-artifact@v7
with:
name: bindings-${{ matrix.platform-arch }}
path: artifacts
- name: Place native addon into rust/
shell: bash
run: |
mkdir -p rust
find artifacts -name "*.node" -exec cp {} rust/ \;
echo "Collected binaries:"
ls -la rust/*.node
- name: Run tests
run: npm exec -- tsx src/test/run-with-local-server.ts
lint:
name: Lint
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: npm
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Check TypeScript types
run: npx tsc --noEmit
- name: Check code formatting
run: npm run ci:biome