ci: drop per-PR Windows release build; bind to release tags (#155)

The `test_windows_binaries` job ran a full Windows --release build +
smoke test on every code PR. It was a non-required (non-blocking) check,
so it never gated a merge — it only burned the slowest/most expensive
runner (windows-latest, --release, 75-min ceiling) on every code change.

Windows binary validation is already covered (better) on release tags:
release.yml's `smoke_windows_installer` (on v* tags) builds the release
binaries, installs via scripts/install.ps1, and smoke-runs
`omnigraph.exe version` + `omnigraph-server.exe --help` — the same smoke
test plus the real installer path. Nothing `needs:` the removed job.

Trade-off (accepted): a PR that breaks the Windows build or install.ps1
syntax is now caught at release-cut rather than at PR time. install.ps1
and platform-specific code change rarely; the cost savings on every PR
outweigh the earlier signal.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Andrew Altshuler 2026-06-08 22:25:33 +03:00 committed by GitHub
parent ce150fb0ca
commit c2a97f4559
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -261,63 +261,6 @@ jobs:
if: needs.classify_changes.outputs.run_full_ci == 'true'
run: cargo test --locked -p omnigraph-server --features aws
test_windows_binaries:
name: Test Windows release binaries
needs: classify_changes
runs-on: windows-latest
timeout-minutes: 75
permissions:
contents: read
env:
CARGO_TERM_COLOR: always
steps:
- name: Skip for text-only changes
if: needs.classify_changes.outputs.run_full_ci != 'true'
run: Write-Host "Text-only change detected; skipping Windows binary build."
- name: Checkout source
if: needs.classify_changes.outputs.run_full_ci == 'true'
uses: actions/checkout@v5.0.1
- name: Install system dependencies
if: needs.classify_changes.outputs.run_full_ci == 'true'
run: choco install protoc -y
- name: Install Rust stable
if: needs.classify_changes.outputs.run_full_ci == 'true'
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Cache Rust build data
if: needs.classify_changes.outputs.run_full_ci == 'true'
uses: Swatinem/rust-cache@v2
with:
workspaces: |
. -> target
key: windows-release-binaries
- name: Build Windows binaries
if: needs.classify_changes.outputs.run_full_ci == 'true'
run: cargo build --release --locked -p omnigraph-cli -p omnigraph-server
- name: Smoke test Windows binaries
if: needs.classify_changes.outputs.run_full_ci == 'true'
run: |
& ./target/release/omnigraph.exe version
& ./target/release/omnigraph-server.exe --help
- name: Check PowerShell installer syntax
if: needs.classify_changes.outputs.run_full_ci == 'true'
run: |
$tokens = $null
$errors = $null
[System.Management.Automation.Language.Parser]::ParseFile("scripts/install.ps1", [ref]$tokens, [ref]$errors) | Out-Null
if ($errors.Count -gt 0) {
$errors | Format-List
exit 1
}
rustfs_integration:
name: RustFS S3 Integration
needs: