Skip to content

test: guard workspace linker_messages=allow against silent removal - #6171

Merged
bug-ops merged 1 commit into
mainfrom
fix/5961-linker-messages-guard
Jul 12, 2026
Merged

test: guard workspace linker_messages=allow against silent removal#6171
bug-ops merged 1 commit into
mainfrom
fix/5961-linker-messages-guard

Conversation

@bug-ops

@bug-ops bug-ops commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds tests/workspace_lints.rs, an integration test in the root zeph binary crate that parses root Cargo.toml (via the existing toml dependency) and asserts workspace.lints.rust.linker_messages == "allow".
  • Adds a doc-comment note above the lint line in Cargo.toml pointing to the new guard test and its limitations.
  • Updates CHANGELOG.md.

Why

PR #5960 added linker_messages = "allow" to unblock macOS/arm64 builds against Apple ld's __eh_frame section too large warning under build.warnings = "deny". That line has no automated protection: ci-non-linux.yml (which builds on macOS and would catch a regression) only runs on manual workflow_dispatch, and ci.yml (which gates every PR) is deliberately Linux-only. An accidental removal would stay green on every PR and only surface the next time someone manually dispatches ci-non-linux.yml or cuts a tagged release.

The new test closes that blind spot by checking the config value directly, so it runs on every PR via ci.yml's Linux runners without needing a macOS machine.

Closes #5961

Test plan

  • cargo nextest run --config-file .github/nextest.toml -p zeph -E 'test(workspace_lints)' — passes
  • cargo +nightly fmt --check — clean
  • cargo clippy -p zeph --profile ci --all-targets --features "desktop,ide,server,chat,pdf,scheduler,testing" -- -D warnings — clean
  • Verified the test fails when linker_messages is changed or removed (negative-control test, reverted)

@github-actions github-actions Bot added tests Test-related changes size/S Small PR (11-50 lines) documentation Improvements or additions to documentation rust Rust code changes dependencies Dependency updates labels Jul 12, 2026
@bug-ops
bug-ops enabled auto-merge (squash) July 12, 2026 20:31
@bug-ops
bug-ops force-pushed the fix/5961-linker-messages-guard branch from a39a143 to 48624cc Compare July 12, 2026 20:31
Add tests/workspace_lints.rs to catch an accidental removal of
workspace.lints.rust.linker_messages = "allow" on every PR. Without it,
only a manual ci-non-linux.yml dispatch or a tagged release build would
surface the regression, since ci.yml (the automatic PR/push gate) is
Linux-only and the eh_frame linker warning this lint suppresses only
fires on macOS/arm64.
@bug-ops
bug-ops force-pushed the fix/5961-linker-messages-guard branch from 48624cc to e81bf04 Compare July 12, 2026 20:32
@bug-ops
bug-ops merged commit 672d086 into main Jul 12, 2026
43 checks passed
@bug-ops
bug-ops deleted the fix/5961-linker-messages-guard branch July 12, 2026 20:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates documentation Improvements or additions to documentation rust Rust code changes size/S Small PR (11-50 lines) tests Test-related changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

linker_messages=allow removal would silently break macOS/arm64 builds again (no CI coverage)

1 participant