|
4 | 4 |
|
5 | 5 | Status: completed |
6 | 6 |
|
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. |
8 | 8 |
|
9 | 9 | ## Requirements |
10 | 10 |
|
@@ -1529,4 +1529,61 @@ Artifact impact plan: |
1529 | 1529 |
|
1530 | 1530 | ## Regression Log |
1531 | 1531 |
|
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. |
0 commit comments