You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9dc04c3
Browse filesBrowse the repository at this point in the historyBrowse files
fix(ci): clear macOS, Windows and security-audit failures
CI has been red on every PR, on macOS, Windows and security-static, for
reasons unrelated to the PRs. Linux jobs were green.
Windows (test-windows 1/2 and 2/2, test-windows-guards, pr-smoke):
- src/cli/cli.c: delete cbm_remove_owned_legacy_hook_script. It is
compiled only under _WIN32 and has had no callers since 4727371
("separate CLI hook installation") gave the CLI its own hook filenames,
so there is no extensionless legacy twin to clean up. -Wunused-function
failed the build.
- src/foundation/workspace.c: include foundation/win_utf8.h on Windows.
canonical_path_has_root calls cbm_utf8_to_wide, which was undeclared
(implicit declaration, then int-to-pointer errors) in the cbm-with-ui
guards build.
macOS (test-unix macos-14 and macos-15-intel, test-tsan macos-14):
- tests/test_daemon_runtime.c: runtime_test_restore_shared_image is
called only from the __linux__ changed-image case; wrap its definition
in the same guard.
macOS LSan (Homebrew LLVM):
- src/cli/cli.c: g_mcp_command_path_probe_counter is written by the test
setter on every platform but read only by the _WIN32 command-path
probe, which newer clang reports as -Wunused-but-set-global. Define it
only on Windows; the setter ignores its argument elsewhere. No test
calls the setter.
security-static (scripts/security-audit.sh):
- scripts/security-allowlist.txt: add count-bounded WRITE entries for
the six fopen("w...") sites the audit had no entry for. Each was
reviewed: Windows exclusive-create temp files for atomic config
replace in config_json_like.c, config_text_edit.c and
config_yaml_edit.c; the stream copy fallback in compat_fs.c; the
opt-in CBM_MEM_STATS_OUT dump in mem.c; and the index error log
(cache logs/ or CBM_INDEX_LOG) in operations/index.c.
- .github/workflows/claude.yml, claude-code-review.yml: pin
actions/checkout and anthropics/claude-code-action to commit SHAs
(same v4 and v1 tags). The audit blocks unpinned actions.
The "repository build/ ancestor must be absent" line in macOS/Windows
logs is expected output from the path-safety contract's negative case
and is followed by "Build directory safety contract passed"; unchanged.
Local (Linux): security-audit.sh passes, make lint-ci lint-tidy-diff
passes, scripts/build-dev.sh builds. The macOS/Windows paths can only be
confirmed by CI.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
0 commit comments