name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: actions/setup-node@v4
with:
node-version: "22"
- run: cargo fmt --check
- run: cargo clippy --all-targets --locked --features schema -- -D warnings
- run: cargo test --locked --features schema
node:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: packages/node/anyagent
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: actions/setup-node@v4
with:
node-version: "22"
- run: cargo build --locked --features mock
working-directory: .
- run: npm ci
- name: Generated types are current
if: runner.os == 'Linux'
run: npm run types && git diff --exit-code src/types.ts
- run: npm test
- run: npm run build