fix: unlet let-chains in agentgrep (Rust 2021 edition) #127
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: 30 | |
| 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: 30 | |
| 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: 30 | |
| 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: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: windows-backend-tests | |
| - name: Run focused unit canary | |
| run: cargo test -p iagent --lib tool::tests::first_party_tool_definitions_include_optional_intent_explicitly -- --exact | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy, rustfmt | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| - name: fmt | |
| run: cargo fmt --check | |
| format: | |
| name: Format | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6.0.2 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - name: cargo fmt | |
| run: cargo fmt --all -- --check | |
| 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 all binaries | |
| 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: 20 | |
| needs: | |
| - check-headless | |
| - check-headless-explicit | |
| - check-terminal-ui | |
| - test-unit | |
| - lint | |
| - format | |
| 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 | |
| timeout-minutes: 15 | |
| run: > | |
| cargo llvm-cov -p iagent --lib --lcov --output-path lcov.info -- | |
| tool::tests::first_party_tool_definitions_include_optional_intent_explicitly | |
| --exact | |
| - name: Upload coverage to Codecov | |
| continue-on-error: true | |
| uses: codecov/codecov-action@v6.0.1 | |
| with: | |
| files: lcov.info | |
| fail_ci_if_error: false |