feat(acp): ship Codex and actor session benchmark #670
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |