Skip to content

feat(acp): ship Codex and actor session benchmark #670

feat(acp): ship Codex and actor session benchmark

feat(acp): ship Codex and actor session benchmark #670

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
checks:
name: Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: |
rm -rf /tmp/docs-theme
git clone https://github.com/rivet-dev/docs-theme.git /tmp/docs-theme
git -C /tmp/docs-theme checkout 450c498555135098c6a927adfdf13458be9be22a
rm -rf website/vendor/theme && mkdir -p website/vendor
cp -r /tmp/docs-theme/packages/theme website/vendor/theme
- run: pnpm install --frozen-lockfile
- run: |
if grep -qE '^[[:space:]]*-[[:space:]]*website[[:space:]]*$' pnpm-workspace.yaml; then
npx turbo build --filter='!@agentos/website'
else
npx turbo build
fi
- run: pnpm --dir scripts/publish run check-types
- run: pnpm --dir scripts/publish test
- run: node --test scripts/check-rust-package-metadata.test.mjs
- run: node scripts/check-rust-package-metadata.mjs
- run: node --test scripts/check-agentos-client-protocol-compat.test.mjs
- run: node scripts/check-agentos-client-protocol-compat.mjs
- run: node --test scripts/verify-fixed-versions.test.mjs
- run: node scripts/verify-fixed-versions.mjs
- run: node --test scripts/verify-thin-client-docs.test.mjs
- run: node scripts/verify-thin-client-docs.mjs
- run: cargo fmt --check
- run: pnpm check-types
- run: pnpm lint
continue-on-error: true
wasm-commands:
name: WASM Commands
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
cache-dependency-path: pnpm-lock.yaml
- uses: dtolnay/rust-toolchain@nightly
with:
targets: wasm32-wasip1
- uses: Swatinem/rust-cache@v2
with:
workspaces: registry/native -> target
cache-workspace-crates: true
key: wasm-commands-${{ hashFiles('registry/native/Cargo.lock') }}
- run: pnpm install --frozen-lockfile --filter '@rivet-dev/agentos-runtime-core...'
- run: make -C registry/native commands
- run: node packages/runtime-core/scripts/copy-wasm-commands.mjs --require
- uses: actions/upload-artifact@v4
with:
name: wasm-commands
path: packages/runtime-core/commands
if-no-files-found: error
rust:
name: Rust
needs: [wasm-commands]
runs-on: [self-hosted, agentos-builder]
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Install wasm-pack
run: |
rustup target add wasm32-unknown-unknown
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- run: |
rm -rf /tmp/docs-theme
git clone https://github.com/rivet-dev/docs-theme.git /tmp/docs-theme
git -C /tmp/docs-theme checkout 450c498555135098c6a927adfdf13458be9be22a
rm -rf website/vendor/theme && mkdir -p website/vendor
cp -r /tmp/docs-theme/packages/theme website/vendor/theme
- run: pnpm install --frozen-lockfile
- name: Install Playwright Chromium
run: pnpm --dir packages/browser exec playwright install --with-deps chromium
- uses: actions/download-artifact@v4
with:
name: wasm-commands
path: packages/runtime-core/commands
- run: node packages/runtime-core/scripts/copy-wasm-commands.mjs --require
- run: |
if grep -qE '^[[:space:]]*-[[:space:]]*website[[:space:]]*$' pnpm-workspace.yaml; then
npx turbo build --filter='!@agentos/website'
else
npx turbo build
fi
- run: cargo clippy --workspace --all-targets -- -D warnings
- name: Build sidecar for actor persistence E2E
run: cargo build -p agentos-sidecar
env:
CARGO_TARGET_DIR: ${{ github.workspace }}/target
- name: Test actor cron cold boot
run: |
test -x "$AGENTOS_SIDECAR_BIN"
cargo test -p agentos-actor-plugin persistence_e2e -- --test-threads=1 --nocapture
env:
CARGO_TARGET_DIR: ${{ github.workspace }}/target
AGENTOS_SIDECAR_BIN: ${{ github.workspace }}/target/debug/agentos-sidecar
- run: cargo test -p agentos-protocol -- --test-threads=1
- run: cargo test -p agentos-sidecar -- --test-threads=1
- run: cargo test -p agentos-client -- --test-threads=1
env:
AGENT_OS_CLIENT_ALLOW_E2E_SKIPS: '1'
- name: Reclaim Cargo target space before package tests
run: |
df -h .
cargo clean
df -h .
- if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
run: pnpm test
env:
AGENTOS_E2E_NETWORK: '1'
- if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository }}
run: pnpm test