This repository was archived by the owner on Jun 19, 2026. It is now read-only.
Update dependency @typescript/native-preview to v7.0.0-dev.20260618.1 #1363
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] | |
| merge_group: | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| rust-lint: | |
| name: Rust / Lint | |
| runs-on: depot-ubuntu-24.04-16 | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install protoc | |
| run: sudo apt-get install -y protobuf-compiler | |
| - name: Run clippy (strict) | |
| run: cargo clippy --all-features --all-targets -- -D warnings | |
| rust-tests: | |
| name: Rust / Tests | |
| runs-on: depot-ubuntu-24.04-16 | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install cargo-nextest | |
| uses: taiki-e/install-action@nextest | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Build Rust subject | |
| run: cargo build --package subject-rust | |
| - name: Test workspace (Rust-only) | |
| run: cargo nextest run --workspace -E 'not test(/lang_.*(typescript|swift)/)' | |
| rust-doc: | |
| name: Rust / Documentation | |
| runs-on: depot-ubuntu-24.04-16 | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install protoc | |
| run: sudo apt-get install -y protobuf-compiler | |
| - name: Build docs (xtask) | |
| run: cargo xtask doc | |
| rust-examples: | |
| name: Rust / Examples | |
| runs-on: depot-ubuntu-24.04-4 | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run all examples | |
| run: | | |
| for example in rust-examples/examples/*.rs; do | |
| name="$(basename "${example}" .rs)" | |
| # bench_client is a long-running benchmark tool, skip it in CI | |
| if [ "${name}" = "bench_client" ] || [ "${name}" = "bench_runner" ] || [ "${name}" = "shootout" ]; then | |
| echo "Skipping ${name} (benchmark, would hang)" | |
| continue | |
| fi | |
| echo "::group::${name}" | |
| cargo run -p rust-examples --example "${name}" | |
| echo "::endgroup::" | |
| done | |
| rust-miri: | |
| name: Rust / Miri | |
| runs-on: depot-ubuntu-24.04-16 | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust nightly | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: miri | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Setup Miri | |
| run: cargo +nightly miri setup | |
| rust-conformance: | |
| name: Conformance / Rust | |
| runs-on: depot-ubuntu-24.04-16 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - name: Install cargo-nextest | |
| uses: taiki-e/install-action@nextest | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install wasm-pack | |
| run: cargo install wasm-pack | |
| - name: Build subject | |
| run: cargo build -p subject-rust --release | |
| - name: Run Rust TCP subject matrix tests | |
| run: > | |
| cargo nextest run -p spec-tests --test spec_matrix | |
| -E 'test(lang_rust_transport_tcp::)' | |
| - name: Run Rust binary payload transport matrix (mem/tcp) | |
| run: > | |
| cargo nextest run -p spec-tests --test spec_matrix | |
| -E 'test(lang_rust_to_rust_transport_mem_direction_bidirectional_binary_payload_transport_matrix) | |
| | test(lang_rust_to_rust_transport_tcp_direction_bidirectional_binary_payload_transport_matrix)' | |
| generated-bindings: | |
| name: Generated / Bindings Sync | |
| runs-on: depot-ubuntu-24.04-4 | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Regenerate TypeScript and Swift bindings | |
| run: cargo xtask codegen --typescript --swift | |
| - name: Check generated bindings are committed | |
| run: | | |
| DRIFT="$(git status --porcelain -- typescript/generated swift/subject/Sources/subject-swift)" | |
| if [ -n "$DRIFT" ]; then | |
| echo "Generated bindings are out of date. Run: cargo xtask codegen --typescript --swift" | |
| echo "$DRIFT" | |
| git --no-pager diff -- typescript/generated swift/subject/Sources/subject-swift || true | |
| exit 1 | |
| fi | |
| typescript-conformance: | |
| name: Conformance / TypeScript | |
| runs-on: depot-ubuntu-24.04-4 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "25" | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v5 | |
| with: | |
| version: 11 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install cargo-nextest | |
| uses: taiki-e/install-action@nextest | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: TypeScript typecheck (tsgo) | |
| run: cd typescript && pnpm check | |
| - name: Build TypeScript packages | |
| run: cd typescript && pnpm run build | |
| - name: Generate TypeScript bindings | |
| run: cargo xtask codegen --typescript | |
| - name: Install Playwright browsers | |
| run: pnpm --filter "@bearcove/vox-playwright-tests" exec playwright install --with-deps chromium | |
| - name: Run TypeScript browser tests | |
| run: pnpm --filter "@bearcove/vox-playwright-tests" run test | |
| - name: Run TypeScript TCP subject matrix tests | |
| run: > | |
| cargo nextest run -p spec-tests --test spec_matrix --run-ignored all -E 'test(lang_typescript_transport_tcp::)' | |
| swift-conformance: | |
| name: Conformance / Swift | |
| runs-on: depot-macos-15 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install cargo-nextest | |
| uses: taiki-e/install-action@nextest | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Build subject | |
| run: swift build -c release --package-path swift/subject | |
| - name: Run VoxRuntime Swift tests | |
| run: swift test --no-parallel -Xlinker -L$(pwd)/target/release | |
| - name: Run Swift TCP subject matrix tests | |
| run: > | |
| cargo nextest run -p spec-tests --test spec_matrix --run-ignored all | |
| -E 'test(lang_swift_transport_tcp::)' | |
| swift-linux: | |
| name: Conformance / Swift (Linux) | |
| runs-on: depot-ubuntu-24.04-16 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup Swift | |
| uses: swift-actions/setup-swift@v2 | |
| with: | |
| swift-version: "6.1" | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install cargo-nextest | |
| uses: taiki-e/install-action@nextest | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Build subject | |
| run: swift build -c release --package-path swift/subject | |
| - name: Run VoxRuntime Swift tests | |
| run: swift test --no-parallel -Xlinker -L$(pwd)/target/release | |
| - name: Run Swift TCP subject matrix tests | |
| run: > | |
| cargo nextest run -p spec-tests --test spec_matrix --run-ignored all | |
| -E 'test(lang_swift_transport_tcp::)' | |
| rust-wasm: | |
| name: Rust / WebAssembly | |
| runs-on: depot-ubuntu-24.04-4 | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Check vox-websocket for wasm32 | |
| run: cargo check --target wasm32-unknown-unknown -p vox-websocket | |
| - name: Check wasm-browser-tests for wasm32 | |
| run: cargo check --target wasm32-unknown-unknown -p wasm-browser-tests | |
| wasm-browser-tests: | |
| name: Browser / Rust-Wasm | |
| runs-on: depot-ubuntu-24.04-4 | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "25" | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v5 | |
| with: | |
| version: 11 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install wasm-pack | |
| run: cargo install wasm-pack | |
| - name: Build wasm targets | |
| run: | | |
| wasm-pack build --target web rust/wasm-browser-tests --out-dir ../../wasm/tests/browser-wasm/pkg | |
| wasm-pack build --target web rust/wasm-inprocess-tests --out-dir ../../wasm/tests/browser-inprocess/pkg | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Install Playwright browsers | |
| run: pnpm --filter "@bearcove/vox-wasm-playwright-tests" exec playwright install --with-deps chromium | |
| - name: Run Wasm browser tests | |
| run: pnpm --filter "@bearcove/vox-wasm-playwright-tests" run test | |
| rust-windows: | |
| name: Rust / Windows | |
| runs-on: depot-windows-2025-32 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - name: Install cargo-nextest | |
| uses: taiki-e/install-action@nextest | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Build subject | |
| run: cargo build -p subject-rust | |
| - name: Test workspace (Rust-only, no cross-language) | |
| run: cargo nextest run --workspace -E 'not test(/lang_.*(typescript|swift)/)' |