name: Test
on:
workflow_call:
env:
CARGO_TERM_COLOR: always
jobs:
test:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, windows-latest, macos-latest]
include:
- os: ubuntu-24.04
is_linux: true
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
shared-key: test-${{ matrix.os }}
- name: Build
run: cargo build --verbose --all-features
- name: System Environment Check (Linux)
if: matrix.is_linux
run: |
echo "=== Running System Check ==="
cargo run --example system_check
- name: Run unit tests
run: cargo test --verbose --all-features
- name: Run security test (Linux)
if: matrix.is_linux
run: cargo run --example security_test
continue-on-error: true
- name: Test sandbox isolation (Linux)
if: matrix.is_linux
run: cargo run --example debug_sandbox