Fix build-linux CI and publish zinit binary packages #19

Open
opened 2026-02-26 17:31:44 +00:00 by mik-tf · 0 comments
Member

Problem

The zinit binary packages have never been published to the Forge package registry. The build-linux.yaml workflow has never succeeded — it fails because x86_64-unknown-linux-musl target is not installed in the builder image.

This blocks hero_ledger's bootstrap CI, which uses scripts/install.sh to download zinit from forge.ourworld.tf/api/packages/geomind_code/generic/zinit/dev/zinit-linux-amd64 — a URL that returns 404.

Root Cause

setup_linux_toolchain() in scripts/build_lib.sh skips rustup target add for x86_64-unknown-linux-musl, assuming the builder image has it. It doesn't.

# Current logic — skips musl target:
if [ -n "$target" ] && [ "$target" != "x86_64-unknown-linux-musl" ]; then
    rustup target add "$target"
fi

Fix

Always run rustup target add $target when a target is specified. This is a one-line change in scripts/build_lib.sh.

Also change VERSION from 0.3.9 to dev in buildenv.sh so packages are published to the dev slot matching what install.sh expects.

Blocked

  • hero_ledger PR #37 (security audit fixes) — bootstrap CI disabled until zinit packages are available
## Problem The zinit binary packages have never been published to the Forge package registry. The `build-linux.yaml` workflow has never succeeded — it fails because `x86_64-unknown-linux-musl` target is not installed in the builder image. This blocks `hero_ledger`'s bootstrap CI, which uses `scripts/install.sh` to download zinit from `forge.ourworld.tf/api/packages/geomind_code/generic/zinit/dev/zinit-linux-amd64` — a URL that returns 404. ## Root Cause `setup_linux_toolchain()` in `scripts/build_lib.sh` skips `rustup target add` for `x86_64-unknown-linux-musl`, assuming the builder image has it. It doesn't. ```bash # Current logic — skips musl target: if [ -n "$target" ] && [ "$target" != "x86_64-unknown-linux-musl" ]; then rustup target add "$target" fi ``` ## Fix Always run `rustup target add $target` when a target is specified. This is a one-line change in `scripts/build_lib.sh`. Also change `VERSION` from `0.3.9` to `dev` in `buildenv.sh` so packages are published to the `dev` slot matching what `install.sh` expects. ## Blocked - [hero_ledger PR #37](https://forge.ourworld.tf/lhumina_code/hero_ledger/pulls/37) (security audit fixes) — bootstrap CI disabled until zinit packages are available
mik-tf reopened this issue 2026-02-26 17:35:43 +00:00
mik-tf changed title from WIP: Fix build-linux CI and publish zinit binary packages to Fix build-linux CI and publish zinit binary packages 2026-03-01 03:39:01 +00:00
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
geomind_code/zinit#19
No description provided.