Skip to content

Commit 6ea4dc0

Browse files
committed
experiment: E1 lld + test-profile tweaks (apt without sudo)
Pool runner is root; golden /etc/sudoers is mis-owned so sudo fails. lld via apt, RUSTFLAGS=-C link-arg=-fuse-ld=lld, profile.test debug=0, dev build-override opt-level=3 for proc macros.
1 parent 3c024d1 commit 6ea4dc0

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

‎.github/workflows/ci.yml‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ jobs:
5757
# concurrency so the dogfood VM survives preloop-runner's suite.
5858
PROPTEST_CASES: "8"
5959
RUST_TEST_THREADS: "2"
60+
RUSTFLAGS: "-C link-arg=-fuse-ld=lld"
6061
steps:
6162
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
6263
with:
@@ -81,6 +82,11 @@ jobs:
8182
# inline run steps work against preloop
8283
- uses: Swatinem/rust-cache@49a0bdc70d2e1b713ca9e2869b211fcce03d3c1c
8384

85+
# Runner executes as root in the pool VM; sudo's audit plugin fails on
86+
# the mis-owned /etc/sudoers in the golden, so call apt directly.
87+
- name: Install lld linker
88+
run: apt-get update && apt-get install -y --no-install-recommends lld
89+
8490
- run: cargo fmt --all --check
8591
- run: |
8692
# Run clippy on warning-free crates with strict -D warnings
@@ -89,7 +95,7 @@ jobs:
8995
cargo clippy --locked -p preloop-runner -p preloop-runner-server -p preloop-runner-client -p preloop-dap --all-targets
9096
- run: cargo test --locked --workspace
9197
env:
92-
RUSTFLAGS: "-A warnings"
98+
RUSTFLAGS: "-A warnings -C link-arg=-fuse-ld=lld"
9399

94100
# Bounded property-test profile
95101
property-tests-fast:

‎Cargo.toml‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,5 +102,15 @@ lto = "thin"
102102
codegen-units = 1
103103
strip = true
104104

105+
[profile.dev.build-override]
106+
# Proc macros and build scripts are executed, not shipped; optimize them
107+
# so the compiler spends less time inside them during dev/test builds.
108+
opt-level = 3
109+
110+
[profile.test]
111+
# CI test binaries: skip DWARF emission (smaller artifacts, faster codegen
112+
# and link). Panic backtraces lose line numbers in tests — acceptable.
113+
debug = 0
114+
105115
[profile.dist]
106116
inherits = "release"

0 commit comments

Comments
 (0)