[codex] Document AI-assisted engineering guardrails #952
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: Calciforge Integration Tests | |
| on: | |
| push: | |
| branches: [main, master, 'feat/**', 'fix/**'] | |
| pull_request: | |
| branches: [main, master] | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| test: | |
| name: Integration Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| run: | | |
| rustup toolchain install stable --profile minimal | |
| rustup default stable | |
| - name: Cache cargo dependencies | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build project | |
| run: cargo build --workspace --all-targets | |
| - name: Run unit tests | |
| run: cargo test --workspace --exclude loom-tests --lib --bins | |
| - name: Run integration tests | |
| run: cargo test --workspace --exclude loom-tests --tests -- --skip test_gateway_ | |
| env: | |
| # Skip tests that require running services in CI | |
| SKIP_LIVE_TESTS: 1 | |
| - name: Run artifact recipe mock E2E | |
| run: python3 scripts/artifact-recipe-mock-e2e.py | |
| env: | |
| CALCIFORGE_BIN: target/debug/calciforge | |
| docker-gateway-smoke: | |
| name: Docker Gateway Smoke | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| persist-credentials: false | |
| - name: Run Docker smoke stack | |
| run: bash scripts/manual-docker-test.sh | |
| env: | |
| CALCIFORGE_STAGING_ARTIFACT_DIR: staging-artifacts/docker-smoke | |
| - name: Upload Docker smoke artifacts | |
| if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: docker-smoke-artifacts | |
| path: staging-artifacts/docker-smoke | |
| if-no-files-found: ignore | |
| lint: | |
| name: Lint and Format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| run: | | |
| rustup toolchain install stable --profile minimal --component rustfmt --component clippy | |
| rustup default stable | |
| - name: Check formatting | |
| run: cargo fmt -- --check | |
| - name: Run clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| matrix-real-e2e: | |
| name: Real Matrix E2E | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| run: | | |
| rustup toolchain install stable --profile minimal | |
| rustup default stable | |
| - name: Cache cargo dependencies | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-matrix-real-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build Calciforge with Matrix channel | |
| run: cargo build -p calciforge --features channel-matrix | |
| - name: Run real Matrix homeserver E2E | |
| run: python3 scripts/matrix-real-e2e.py | |
| model-gateway-synthetic-e2e: | |
| name: Model Gateway Synthetic E2E | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| run: | | |
| rustup toolchain install stable --profile minimal | |
| rustup default stable | |
| - name: Cache cargo dependencies | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-synthetic-gateway-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build Calciforge | |
| run: cargo build -p calciforge | |
| - name: Run synthetic model gateway E2E | |
| run: python3 scripts/model-gateway-synthetic-e2e.py |