Merge pull request #3 from benclawbot/codex/agent-s-computer-tool #99
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: Windows Backend | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: windows-backend-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| check-headless: | |
| name: Check headless default (pdf only) | |
| runs-on: windows-latest | |
| timeout-minutes: 90 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: x86_64-pc-windows-msvc | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: windows-backend-headless | |
| - name: Check PowerShell scripts | |
| shell: pwsh | |
| run: ./scripts/check_powershell_syntax.ps1 | |
| - name: Cargo check (headless default) | |
| shell: pwsh | |
| run: cargo check --workspace --all-targets --target x86_64-pc-windows-msvc | |
| check-headless-explicit: | |
| name: Check headless explicit (no terminal-ui) | |
| runs-on: windows-latest | |
| timeout-minutes: 90 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: x86_64-pc-windows-msvc | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: windows-backend-headless | |
| - name: Check PowerShell scripts | |
| shell: pwsh | |
| run: ./scripts/check_powershell_syntax.ps1 | |
| - name: Cargo check (headless explicit) | |
| shell: pwsh | |
| run: cargo check --workspace --all-targets --no-default-features --features pdf --target x86_64-pc-windows-msvc | |
| check-terminal-ui: | |
| name: Check terminal-ui build | |
| runs-on: windows-latest | |
| timeout-minutes: 90 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: x86_64-pc-windows-msvc | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: windows-backend-tui | |
| - name: Check PowerShell scripts | |
| shell: pwsh | |
| run: ./scripts/check_powershell_syntax.ps1 | |
| - name: Cargo check (terminal-ui) | |
| shell: pwsh | |
| run: cargo check --workspace --all-targets --features terminal-ui --target x86_64-pc-windows-msvc | |
| test-unit: | |
| name: Unit tests | |
| runs-on: windows-latest | |
| timeout-minutes: 120 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: x86_64-pc-windows-msvc | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: windows-backend-tests | |
| - name: Run unit tests (headless default) | |
| shell: pwsh | |
| run: cargo test --workspace --target x86_64-pc-windows-msvc | |
| test-self-check: | |
| name: Self-check validation | |
| runs-on: windows-latest | |
| timeout-minutes: 60 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: x86_64-pc-windows-msvc | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: windows-backend-selfcheck | |
| - name: Build iAgent | |
| shell: pwsh | |
| run: cargo build --bin iagent --target x86_64-pc-windows-msvc | |
| - name: Run self-check | |
| shell: pwsh | |
| env: | |
| OPENAI_API_KEY: ${{ secrets.TEST_API_KEY || 'sk-test-dummy' }} | |
| run: | | |
| $env:RUST_LOG = "info" | |
| cargo build --bins --target x86_64-pc-windows-msvc && echo "Build successful - all binaries compile" | |
| test-office-workflows: | |
| name: Test Office workflow fixtures | |
| runs-on: windows-latest | |
| timeout-minutes: 60 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: x86_64-pc-windows-msvc | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: windows-backend-office-tests | |
| - name: Run app-integrations tests (includes office workflow fixtures) | |
| shell: pwsh | |
| run: cargo test -p app-integrations --target x86_64-pc-windows-msvc | |
| coverage: | |
| name: Test coverage | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 300 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: llvm-tools-preview | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: coverage | |
| - name: Install cargo-llvm-cov | |
| uses: taiki-e/install-action@cargo-llvm-cov | |
| - name: Generate coverage report | |
| run: cargo llvm-cov --workspace --lcov --output-path lcov.info | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v6.0.1 | |
| with: | |
| files: lcov.info | |
| fail_ci_if_error: true |