Skip to content

Commit 489494d

Browse files
committed
Fix Windows Rust raw server build
1 parent 7d6031a commit 489494d

2 files changed

Lines changed: 60 additions & 3 deletions

File tree

.agents/sow/done/SOW-0014-20260603-maintainability-hotspots.md

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Status: completed
66

7-
Sub-state: selected maintainability hotspots and the per-codec/per-service organization sweep are implemented and validated.
7+
Sub-state: Windows Rust CI compile regression repaired and validated.
88

99
## Requirements
1010

@@ -1529,4 +1529,61 @@ Artifact impact plan:
15291529

15301530
## Regression Log
15311531

1532-
None yet.
1532+
## Regression - 2026-06-05
1533+
1534+
What broke:
1535+
1536+
- GitHub Actions run `26988906854` for commit `7d6031a3bda52049e6b04483dd442a33d929a65f` failed in workflow `Runtime Safety`, job `Windows MSYS2 Runtime`.
1537+
- The failing step was `Build Windows runtime targets`.
1538+
- Rust Windows interop targets failed to compile because `src/crates/netipc/src/service/raw/server_windows.rs:106` referenced `ServerConfig` without importing the platform transport `ServerConfig` type.
1539+
1540+
Evidence:
1541+
1542+
- `gh run view 26988906854 --repo netdata/plugin-ipc --json jobs` reported job `79644582317` as failed.
1543+
- `gh run view 26988906854 --repo netdata/plugin-ipc --job 79644582317 --log` reported:
1544+
- `error[E0425]: cannot find type ServerConfig in this scope`
1545+
- `src\service\raw\server_windows.rs:106:51`
1546+
1547+
Why previous validation missed it:
1548+
1549+
- The final local validation recorded Windows/MSYS configure/build and CTest success, but the CI run compiled Rust Windows interop targets through the GitHub-hosted MSYS2 workflow and exposed a missing import in the Windows-only Rust raw server split file.
1550+
- POSIX Rust validation could not catch this because `server_windows.rs` is behind `#![cfg(windows)]`.
1551+
1552+
Repair plan:
1553+
1554+
- Import `ServerConfig` from `super::server` in `src/crates/netipc/src/service/raw/server_windows.rs`, matching the Unix split file's pattern.
1555+
- Re-run Rust formatting checks and Windows Rust compile/test validation.
1556+
- Re-run SOW audit and whitespace checks.
1557+
1558+
Repair implemented:
1559+
1560+
- `src/crates/netipc/src/service/raw/server_windows.rs` now imports `ServerConfig` from `super::server` alongside `ManagedServer`.
1561+
- This matches the Unix split file and uses the cfg-selected transport `ServerConfig` re-export from `src/crates/netipc/src/service/raw/server.rs`.
1562+
1563+
Validation:
1564+
1565+
- `cargo fmt --manifest-path src/crates/netipc/Cargo.toml -- --check` passed.
1566+
- `cargo check --manifest-path src/crates/netipc/Cargo.toml --target x86_64-pc-windows-gnu` passed.
1567+
- Windows/MSYS validation on `win11` passed for the exact Runtime Safety build target list:
1568+
- `test_named_pipe`
1569+
- `test_win_shm`
1570+
- `test_win_service`
1571+
- `test_win_service_payload_limits`
1572+
- `test_win_service_extra`
1573+
- `test_win_stress`
1574+
- `interop_named_pipe_c`, `interop_named_pipe_rs`, `interop_named_pipe_go`
1575+
- `interop_win_shm_c`, `interop_win_shm_rs`, `interop_win_shm_go`
1576+
- `interop_service_win_c`, `interop_service_win_rs`, `interop_service_win_go`
1577+
- `interop_cache_win_c`, `interop_cache_win_rs`, `interop_cache_win_go`
1578+
- Windows/MSYS CTest Runtime Safety slice passed on `win11`: 12/12 tests.
1579+
- `git diff --check` passed.
1580+
- `bash .agents/sow/audit.sh` passed.
1581+
1582+
Artifact impact:
1583+
1584+
- `AGENTS.md`: no workflow or guardrail change.
1585+
- Runtime project skills: no reusable workflow change.
1586+
- Specs: no protocol/API behavior change.
1587+
- End-user/operator docs: no public docs change needed.
1588+
- End-user/operator skills: no exported integration guidance change needed.
1589+
- SOW lifecycle: this completed SOW was reopened from `done/` to `current/` for a true regression and will be completed again with the repair commit.

src/crates/netipc/src/service/raw/server_windows.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#![cfg(windows)]
22

3-
use super::server::ManagedServer;
3+
use super::server::{ManagedServer, ServerConfig};
44
use super::server_session_windows::handle_session_win_threaded;
55
use crate::protocol::{NipcError, HEADER_SIZE};
66
use crate::transport::win_shm::{

0 commit comments

Comments
 (0)