harden tProxy Sv1 session and channel lifecycle #2671
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
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| name: Integration Tests | |
| env: | |
| CARGO_TARGET_DIR: ${{ github.workspace }}/target | |
| jobs: | |
| ci: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| include: | |
| - os: ubuntu-latest | |
| target: x86_64-unknown-linux-gnu | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@1.88 | |
| - name: Cache Rust build | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-bin: "false" | |
| # Hash every Cargo workspace without registering the shared target more than once. | |
| key: cargo-inputs-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }} | |
| workspaces: integration-tests -> ../target | |
| - name: Install capnp dependencies (Ubuntu) | |
| if: matrix.os == 'ubuntu-latest' | |
| run: sudo apt-get install -y capnproto libcapnp-dev | |
| - name: Install capnp dependencies (macOS) | |
| if: matrix.os == 'macos-latest' | |
| run: brew install capnp | |
| # Install cargo-binstall so tool installs below use prebuilt binaries. | |
| - name: Install cargo-binstall | |
| uses: cargo-bins/cargo-binstall@v1.20.0 | |
| with: | |
| version: "1.20.0" | |
| # Install cargo-nextest via cargo-binstall (no source build). | |
| # Keep quick-install disabled to only use upstream release artifacts. | |
| - name: Install cargo-nextest | |
| env: | |
| GITHUB_TOKEN: ${{ github.token }} | |
| run: cargo binstall --no-confirm --disable-telemetry --disable-strategies quick-install --locked cargo-nextest@0.9.100 | |
| # Failure triage: re-run a single test with captured logs shown live: | |
| # RUST_LOG=debug cargo nextest run --manifest-path=integration-tests/Cargo.toml \ | |
| # -E 'test(<name>)' --no-capture | |
| - name: Integration Tests | |
| run: | | |
| RUST_BACKTRACE=1 RUST_LOG=debug cargo nextest run --manifest-path=integration-tests/Cargo.toml |