From 37dcab4f1bd5925a65d7e997923b82d40b7438d8 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 20 Oct 2026 15:43:15 +0000 Subject: [PATCH 1/2] Fix #2171: give the OPA unavailable test time to see the refusal on Windows Windows retries a refused TCP connection for about two seconds. With the 1s test timeout, opa_unavailable_is_a_failure saw RemoteTimeout instead of RemoteUnavailable, which failed the early-access Windows job. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_0189XaWeWPUxirC7mGwNFAGp --- features/evaluator/src/filter.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/features/evaluator/src/filter.rs b/features/evaluator/src/filter.rs index 986e69fb5..0064bda6b 100644 --- a/features/evaluator/src/filter.rs +++ b/features/evaluator/src/filter.rs @@ -1321,9 +1321,13 @@ mod tests { #[tokio::test] async fn opa_unavailable_is_a_failure() { let state = EvaluatorState::new(); - state - .load_opa_connections(&[opa_connection("http://127.0.0.1:9")]) - .unwrap(); + // Windows retries a refused connection for about two seconds, so the + // default 1s test timeout would report a timeout instead. + let connection = crate::config::OpaConnection { + timeout_ms: 5000, + ..opa_connection("http://127.0.0.1:9") + }; + state.load_opa_connections(&[connection]).unwrap(); let client = state.get_opa_client("remote").unwrap(); let definition = crate::config::OpaDef { connection: "remote".into(), From daf153374ff61e76f56b1f0cedb081fbc50bae13 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 20 Oct 2026 17:13:15 +0000 Subject: [PATCH 2/2] Fix #2171: drop the Windows build from early-access The Windows job keeps the manifest job from running, so the early-access image tag does not move. Early-access does not need a Windows build. JReleaser skips the Windows artifacts that jreleaser.yml still lists for tagged releases. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_0189XaWeWPUxirC7mGwNFAGp --- .github/workflows/early-access.yml | 38 +++--------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/.github/workflows/early-access.yml b/.github/workflows/early-access.yml index 9aef92a47..48a75653f 100644 --- a/.github/workflows/early-access.yml +++ b/.github/workflows/early-access.yml @@ -40,9 +40,6 @@ jobs: - os: macos-15 platform: macos-aarch64 container: false - - os: windows-2025 - platform: windows-x86_64 - container: false env: QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }} QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }} @@ -93,8 +90,7 @@ jobs: - name: Build release binary run: cargo build --release --locked -p wanaku-server - - name: Package release binary (Unix) - if: runner.os != 'Windows' + - name: Package release binary env: PLATFORM: ${{ matrix.platform }} run: | @@ -105,24 +101,10 @@ jobs: tar -C dist -czf "dist/$archive.tar.gz" "$archive" rm -rf "dist/$archive" - - name: Package release binary (Windows) - if: runner.os == 'Windows' - env: - PLATFORM: ${{ matrix.platform }} - shell: pwsh - run: | - $archive = "wanaku-server-$env:VERSION-$env:PLATFORM" - New-Item -ItemType Directory -Path "dist/$archive" -Force - Copy-Item target/release/wanaku-server.exe "dist/$archive/wanaku-server.exe" - Copy-Item LICENSE, README.md, wanaku.yaml "dist/$archive/" - Compress-Archive -Path "dist/$archive" -DestinationPath "dist/$archive.zip" - Remove-Item -Recurse -Force "dist/$archive" - - name: Build headless release binary run: cargo build --release --locked -p wanaku-server --no-default-features - - name: Package headless release binary (Unix) - if: runner.os != 'Windows' + - name: Package headless release binary env: PLATFORM: ${{ matrix.platform }} run: | @@ -133,26 +115,12 @@ jobs: tar -C dist -czf "dist/$archive.tar.gz" "$archive" rm -rf "dist/$archive" - - name: Package headless release binary (Windows) - if: runner.os == 'Windows' - env: - PLATFORM: ${{ matrix.platform }} - shell: pwsh - run: | - $archive = "wanaku-server-headless-$env:VERSION-$env:PLATFORM" - New-Item -ItemType Directory -Path "dist/$archive" -Force - Copy-Item target/release/wanaku-server.exe "dist/$archive/wanaku-server.exe" - Copy-Item LICENSE, README.md, wanaku.yaml "dist/$archive/" - Compress-Archive -Path "dist/$archive" -DestinationPath "dist/$archive.zip" - Remove-Item -Recurse -Force "dist/$archive" - - name: Upload release archive uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7 with: name: wanaku-server-${{ matrix.platform }} path: | dist/*.tar.gz - dist/*.zip if-no-files-found: error - name: Login to container registry @@ -252,7 +220,7 @@ jobs: uses: jreleaser/release-action@90ac653bb9c79d11179e65d81499f3f34527dcd5 # 2.5.0 with: version: 1.26.0 - arguments: full-release + arguments: full-release --reject-platform=windows-x86_64 - name: Announce release in GitHub Discussions env: