[bug] CI tag-build fails: openssl-sys can't find OpenSSL for musl cross-compile #43

Open
opened 2026-05-04 02:26:55 +00:00 by mik-tf · 0 comments
Owner

Discovered during Phase 2 cluster D first-tag attempt

v0.1.0-rc1 pushed directly to origin/development to validate the inline release workflow (hero_demo#54). All setup steps green; cargo build failed at openssl-sys cross-compile to musl:

$HOST = x86_64-unknown-linux-gnu
$TARGET = x86_64-unknown-linux-musl
openssl-sys = 0.9.114
Could not find directory of OpenSSL installation

Same root cause as hero_foundry#27. Pre-existing dep-tree problem unrelated to the Phase 2 audit work.

Why slides isn't a workflow issue

release.yaml is structurally fine — it's an inline-logic workflow (no shared publish_binaries helper bug), uses python3 (no jq dep), and setup_linux_toolchain already does rustup target add for the matrix target. The workflow would have produced a clean Release if the build had succeeded.

This is purely a Cargo.toml/deps issue.

Same options as hero_foundry#27:

  1. Easiest if possible: add features = ["vendored"] to the openssl dep
  2. More likely path: switch to rustls — reqwest = { default-features = false, features = ["rustls-tls"] }
  3. Last resort: customize the builder image (out of scope)

Tracker

Hero CI roadmap Phase 2 cluster D, hero_demo#54.
Sibling: hero_foundry#27 (same root cause).

Effort

30 min — 1-2 line Cargo.toml change + retag.

## Discovered during Phase 2 cluster D first-tag attempt `v0.1.0-rc1` pushed directly to origin/development to validate the inline release workflow ([hero_demo#54](https://forge.ourworld.tf/lhumina_code/hero_demo/issues/54)). All setup steps green; cargo build failed at `openssl-sys` cross-compile to musl: ``` $HOST = x86_64-unknown-linux-gnu $TARGET = x86_64-unknown-linux-musl openssl-sys = 0.9.114 Could not find directory of OpenSSL installation ``` **Same root cause as [hero_foundry#27](https://forge.ourworld.tf/lhumina_code/hero_foundry/issues/27).** Pre-existing dep-tree problem unrelated to the Phase 2 audit work. ## Why slides isn't a workflow issue `release.yaml` is structurally fine — it's an inline-logic workflow (no shared `publish_binaries` helper bug), uses `python3` (no jq dep), and `setup_linux_toolchain` already does `rustup target add` for the matrix target. The workflow would have produced a clean Release if the build had succeeded. This is purely a Cargo.toml/deps issue. ## Recommended fix Same options as hero_foundry#27: 1. **Easiest if possible:** add `features = ["vendored"]` to the openssl dep 2. **More likely path:** switch to rustls — `reqwest = { default-features = false, features = ["rustls-tls"] }` 3. Last resort: customize the builder image (out of scope) ## Tracker Hero CI roadmap Phase 2 cluster D, [hero_demo#54](https://forge.ourworld.tf/lhumina_code/hero_demo/issues/54). Sibling: [hero_foundry#27](https://forge.ourworld.tf/lhumina_code/hero_foundry/issues/27) (same root cause). ## Effort 30 min — 1-2 line Cargo.toml change + retag.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_slides#43
No description provided.