⬆ Bump lru from 0.18.1 to 0.18.2 #2134
Workflow file for this run
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: Integration tests | |
| permissions: | |
| contents: read | |
| # End-to-end integration test suite (macOS leg). Runs the `aa-integration-tests` | |
| # crate on macOS so the topology HTTP roundtrip (AAASM-1066) and the CLI | |
| # subcommand coverage (AAASM-1258, AAASM-1441 follow-up) are exercised on a | |
| # non-Linux platform before anything depending on them ships. | |
| # | |
| # AAASM-2631: the Linux leg was dropped — ci.yml's `test` job already runs the | |
| # whole workspace (incl. aa-integration-tests) on ubuntu-latest for every rust | |
| # PR, so running it serially here too was pure duplication. The tests bind | |
| # ephemeral ports (TcpListener::bind 127.0.0.1:0) and pass concurrently in | |
| # `test`, so the Linux coverage is fully retained there. | |
| # | |
| # Node.js SDK E2E fixtures (AAASM-1514 / F116 ST-B): TypeScript fixture scripts | |
| # are installed via pnpm and run in AA_SELFTEST=1 mode inside the Rust harness; | |
| # no running gateway or native bindings are required for the hermetic tests. | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "aa-integration-tests/**" | |
| - "aa-api/**" | |
| - "aa-gateway/**" | |
| - "aa-cli/**" | |
| - "aa-runtime/**" | |
| - "Cargo.toml" | |
| - "Cargo.lock" | |
| - ".github/workflows/integration-tests.yml" | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - "aa-integration-tests/**" | |
| - "aa-api/**" | |
| - "aa-gateway/**" | |
| - "aa-cli/**" | |
| - "aa-runtime/**" | |
| - "Cargo.toml" | |
| - "Cargo.lock" | |
| - ".github/workflows/integration-tests.yml" | |
| jobs: | |
| integration-tests: | |
| name: Integration tests (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-latest] | |
| steps: | |
| - name: Checkout agent-assembly | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Checkout sibling python-sdk | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: ai-agent-assembly/python-sdk | |
| path: python-sdk | |
| - name: Checkout sibling go-sdk | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: ai-agent-assembly/go-sdk | |
| path: go-sdk | |
| - name: Checkout sibling node-sdk | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: ai-agent-assembly/node-sdk | |
| path: node-sdk | |
| - name: Install protobuf compiler | |
| run: brew install protobuf | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.11" | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version: "1.26" | |
| cache-dependency-path: aa-integration-tests/tests/fixtures/e2e/sdk_go_driver/go.sum | |
| - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable | |
| - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 | |
| with: | |
| key: integration-tests-${{ matrix.os }} | |
| - name: Install cargo-nextest | |
| uses: taiki-e/install-action@83c419a40a2e48673b2c523337e57f602dfe53c9 # cargo-nextest | |
| - name: Set up pnpm | |
| uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 | |
| with: | |
| version: 10 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: "24" | |
| cache: "pnpm" | |
| cache-dependency-path: aa-integration-tests/tests/fixtures/agents/typescript/pnpm-lock.yaml | |
| - name: "Symlink node-sdk for file: dependency resolution" | |
| # The TypeScript fixture package.json uses file:../../../../../../node-sdk | |
| # which resolves six levels up from the typescript/ dir to the parent of | |
| # GITHUB_WORKSPACE. The checkout action places node-sdk one level below | |
| # GITHUB_WORKSPACE so we create a sibling symlink to bridge the gap. | |
| run: ln -sfn "$GITHUB_WORKSPACE/node-sdk" "$(dirname "$GITHUB_WORKSPACE")/node-sdk" | |
| - name: Install TypeScript fixture dependencies | |
| working-directory: aa-integration-tests/tests/fixtures/agents/typescript | |
| run: pnpm install --frozen-lockfile | |
| - name: Pre-build aasm binary (AAASM-2340) | |
| # Compiling aa-cli (which pulls wasmtime via aa-sandbox) once serially | |
| # before nextest skips per-test `cargo run -p aa-cli` overhead — under | |
| # --test-threads=1 every test paid that overhead in sequence, which is | |
| # what pushed this workflow past the 20-minute timeout-minutes ceiling. | |
| run: cargo build --quiet -p aa-cli --bin aasm | |
| - name: Run integration tests | |
| env: | |
| PYTHON_SDK_PATH: ${{ github.workspace }}/python-sdk | |
| GO_SDK_PATH: ${{ github.workspace }}/go-sdk | |
| # AAASM-2340: spawn the binary pre-built in the previous step | |
| # instead of paying cargo-run overhead per test under --test-threads=1. | |
| AASM_BIN_PATH: ${{ github.workspace }}/target/debug/aasm | |
| run: cargo nextest run -p aa-integration-tests --test-threads=1 | |
| - name: Upload gateway logs on failure | |
| if: failure() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: integration-tests-gateway-logs-${{ matrix.os }} | |
| path: | | |
| target/nextest/**/*.log | |
| target/debug/build/aa-integration-tests-*/output | |
| **/*.log | |
| if-no-files-found: ignore | |
| retention-days: 7 | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} |