ci-nightly #97
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-nightly | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "41 10 * * *" | |
| jobs: | |
| nightly: | |
| name: Nightly runtime validation | |
| runs-on: [self-hosted, agentos-builder] | |
| env: | |
| # Cargo validation and the shared sidecar build are explicit below. | |
| # Do not let TypeScript dependency builds compile a second Rust copy. | |
| AGENTOS_SKIP_NATIVE_META_BUILD: '1' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| - uses: oven-sh/setup-bun@v2 | |
| - run: corepack enable yarn | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy, rustfmt | |
| targets: wasm32-wasip1 | |
| - uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| targets: wasm32-wasip1 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: nightly-2026-03-01 | |
| components: rust-src | |
| targets: wasm32-wasip1 | |
| - name: Install toolchain build prerequisites | |
| run: | | |
| if ! command -v cmake >/dev/null 2>&1; then | |
| sudo apt-get update | |
| sudo apt-get install --yes cmake | |
| fi | |
| - run: pnpm install --frozen-lockfile | |
| - run: make -C toolchain commands | |
| - run: make -C toolchain cmd/duckdb | |
| - run: make -C toolchain codex | |
| - run: node packages/runtime-core/scripts/copy-wasm-commands.mjs --require | |
| - name: Use stable Rust for repository validation | |
| run: echo "RUSTUP_TOOLCHAIN=stable" >> "$GITHUB_ENV" | |
| # Browser support is retained in-tree but disabled during the unified | |
| # native sidecar reactor migration, so it must not gate native CI. | |
| - run: cargo check --workspace --exclude agentos-sidecar-browser --exclude agentos-native-sidecar-browser | |
| - run: cargo clippy --workspace --exclude agentos-sidecar-browser --exclude agentos-native-sidecar-browser --all-targets -- -D warnings | |
| - run: pnpm check-types | |
| - name: Build sidecars once for all TypeScript runtime suites | |
| run: cargo build -p agentos-sidecar -p agentos-native-sidecar | |
| - run: pnpm test | |
| env: | |
| AGENTOS_E2E_NETWORK: '1' | |
| AGENTOS_SIDECAR_BIN: ${{ github.workspace }}/target/debug/agentos-sidecar | |
| AGENTOS_NATIVE_SIDECAR_BIN: ${{ github.workspace }}/target/debug/agentos-native-sidecar | |
| - run: pnpm test:nightly | |
| env: | |
| AGENTOS_E2E_NETWORK: '1' | |
| AGENTOS_SIDECAR_BIN: ${{ github.workspace }}/target/debug/agentos-sidecar | |
| AGENTOS_NATIVE_SIDECAR_BIN: ${{ github.workspace }}/target/debug/agentos-native-sidecar | |
| # These opt-in gates cold-install pinned ecosystem fixtures and exercise | |
| # package-manager workflows inside the VM, so keep them off the cheap PR path. | |
| - run: pnpm --dir packages/runtime-core test:ecosystem | |
| env: | |
| AGENTOS_ECOSYSTEM_E2E: '1' | |
| AGENTOS_NATIVE_SIDECAR_BIN: ${{ github.workspace }}/target/debug/agentos-native-sidecar | |
| - run: pnpm --dir packages/runtime-core test:ecosystem:full | |
| env: | |
| AGENTOS_NATIVE_SIDECAR_BIN: ${{ github.workspace }}/target/debug/agentos-native-sidecar | |
| - run: pnpm --dir packages/runtime-core test:npm-workflows | |
| env: | |
| AGENTOS_NATIVE_SIDECAR_BIN: ${{ github.workspace }}/target/debug/agentos-native-sidecar | |
| - run: cargo test --workspace --exclude agentos-sidecar-browser --exclude agentos-native-sidecar-browser -- --test-threads=1 | |
| - name: Explicit ignored runtime churn gate | |
| run: cargo test -p agentos-runtime multi_vm_generation_soak_has_no_accounting_or_scheduler_drift --lib -- --ignored --test-threads=1 | |
| - name: Explicit ignored multi-VM protocol soak gate | |
| run: cargo test -p agentos-native-sidecar --test service multi_vm_protocol_faults_reconcile_shared_runtime_soak -- --ignored --test-threads=1 | |
| - run: cargo build --release -p agentos-native-sidecar | |
| - run: cargo build --release -p agentos-native-baseline | |
| - run: cargo build --release --target wasm32-wasip1 -p agentos-native-baseline | |
| - run: pnpm --dir packages/runtime-benchmarks bench:matrix | |
| env: | |
| AGENTOS_SIDECAR_BIN: ${{ github.workspace }}/target/release/agentos-native-sidecar | |
| NATIVE_BASELINE_BIN: ${{ github.workspace }}/target/release/agentos-native-baseline | |
| NATIVE_BASELINE_WASM: ${{ github.workspace }}/target/wasm32-wasip1/release/agentos-native-baseline.wasm | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: nightly-benchmark-results | |
| path: packages/runtime-benchmarks/results | |
| if-no-files-found: warn |