[bug] CI tag-build fails: openssl-sys can't find OpenSSL for musl/arm64 cross-compile #27
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_foundry#27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Discovered during Phase 2 cluster A propagation
While propagating the Release-asset publishing pattern from hero_browser PR #17 into hero_foundry (branch
development_mik_release_assets, tagv0.2.3-rc1), both matrix legs failed at the Build step with:Same class as hero_biz's #14 feature-drift — pre-existing dependency-tree problem unrelated to the Release-asset work. The Release-asset workflow change is correct and will validate once this builds.
Why this is openssl-specific
hero_foundry's dependency tree pulls in
openssl-sys(likely transitively viareqwest/native-tlssince I see them in the cargo lock log). Cross-compiling openssl-sys for musl needs either:rustls(no system dep), oropensslcrate withvendoredfeature flag enabled (compiles openssl from source)For arm64 cross, the situation is even worse — needs cross-compilable openssl which the builder image doesn't provide.
Recommended fix
Quickest: add
openssl = { version = "0.10", features = ["vendored"] }to whichever crate transitively pulls openssl-sys, or setvendoredon the existing dependency. Ships openssl as static-linked source — no system dep.Better long-term: switch reqwest/native-tls to
default-features = false, features = ["rustls-tls"]. Eliminates the openssl dep entirely.Why not caught earlier
hero_foundry's last successful tag run was Feb 2026 (v0.0.1-rc1, v0.1.0 — both reported success but published nothing because of the cluster A pkg-registry path bug). The crate dependency tree has changed since then, pulling in openssl-sys without anyone noticing because the tag-build never actually ran successfully on a clean image.
Blocks
Effort
30 min — single Cargo.toml change (try
vendoredfirst; if that ships, done; if not, pivot to rustls). 5 min CI re-run to validate. Phase 2 implementation, separate from cluster A canonical-pattern work.