ci(release): port build-linux to home#212 target-triple shape, ship 4 binaries #14

Merged
mik-tf merged 1 commit from development_mik_home212_lib_rhai into development 2026-05-06 17:21:09 +00:00
Owner

Refs lhumina_code/home#212

First tag of hero_lib_rhai — Bucket C item 1 of the home#212 build-binaries half. Producer pipeline existed but had never shipped a release; both consumers (service_hero_do + service_runner_rhai in hero_skills) currently fall back to cargo build on deploy.

What changed

  • .forgejo/workflows/build-linux.yaml — full port to canonical post-home#212 shape:
    • Single-arch x86_64-unknown-linux-musl, target-triple suffix on every artifact name
    • Driven by $BINARIES from buildenv.sh (no per-binary edits in the workflow)
    • Manual git clone replaces actions/checkout@v4 (Forgejo auth bug, session 60 playbook items 14-16)
    • python3 replaces jq for release-id parsing
    • Workspace build via build_binaries() from scripts/build_lib.sh — covers all 4 binaries in one pass, no separate build_herodo.sh invocation needed
  • buildenv.shBINARIES expanded from "hero_do" to all four binaries the consumers actually pull: hero_do hero_runner_rhai hero_runner_rhai_server hero_runner_rhai_ui
  • .forgejo/workflows/build-macos.yaml — deleted; forge.ourworld.tf has no macOS runner, the workflow has been a guaranteed-failure noise source since inception

After merge

Tag v0.1.0-rc1 from development HEAD; CI publishes 4 release assets:

hero_do-x86_64-unknown-linux-musl
hero_runner_rhai-x86_64-unknown-linux-musl
hero_runner_rhai_server-x86_64-unknown-linux-musl
hero_runner_rhai_ui-x86_64-unknown-linux-musl

Consumer-side flip lives in a sibling PR on lhumina_code/hero_skills (service_hero_do.nu + service_runner_rhai.nu + dispatcher.nu --download forwarding), opens once this lands so the suffix change and the producer release are atomic from the smoke-test perspective.

Signed-off-by: mik-tf

Refs https://forge.ourworld.tf/lhumina_code/home/issues/212 First tag of `hero_lib_rhai` — Bucket C item 1 of the home#212 build-binaries half. Producer pipeline existed but had never shipped a release; both consumers (`service_hero_do` + `service_runner_rhai` in hero_skills) currently fall back to `cargo build` on deploy. ## What changed - **`.forgejo/workflows/build-linux.yaml`** — full port to canonical post-home#212 shape: - Single-arch `x86_64-unknown-linux-musl`, target-triple suffix on every artifact name - Driven by `$BINARIES` from `buildenv.sh` (no per-binary edits in the workflow) - Manual git clone replaces `actions/checkout@v4` (Forgejo auth bug, session 60 playbook items 14-16) - `python3` replaces `jq` for release-id parsing - Workspace build via `build_binaries()` from `scripts/build_lib.sh` — covers all 4 binaries in one pass, no separate `build_herodo.sh` invocation needed - **`buildenv.sh`** — `BINARIES` expanded from `"hero_do"` to all four binaries the consumers actually pull: `hero_do hero_runner_rhai hero_runner_rhai_server hero_runner_rhai_ui` - **`.forgejo/workflows/build-macos.yaml`** — deleted; `forge.ourworld.tf` has no macOS runner, the workflow has been a guaranteed-failure noise source since inception ## After merge Tag `v0.1.0-rc1` from `development` HEAD; CI publishes 4 release assets: ``` hero_do-x86_64-unknown-linux-musl hero_runner_rhai-x86_64-unknown-linux-musl hero_runner_rhai_server-x86_64-unknown-linux-musl hero_runner_rhai_ui-x86_64-unknown-linux-musl ``` Consumer-side flip lives in a sibling PR on `lhumina_code/hero_skills` (`service_hero_do.nu` + `service_runner_rhai.nu` + `dispatcher.nu` `--download` forwarding), opens once this lands so the suffix change and the producer release are atomic from the smoke-test perspective. Signed-off-by: mik-tf
ci(release): port build-linux to home#212 target-triple shape, ship 4 binaries
Some checks failed
Lint / lint-linux (pull_request) Failing after 4s
Tests / test-linux (pull_request) Failing after 24s
25b8ecfb3e
Refs lhumina_code/home#212

This repo is the second half of the home#212 sweep — Bucket C, item 1.
Build pipeline existed but had never published a tag; both consumers
(service_hero_do + service_runner_rhai in hero_skills) currently still
ship binaries via cargo-on-deploy.

Producer changes here mirror the canonical post-rename shape the 18
session-64 producers ended up on:

- Workflow uses the target-triple suffix on every artifact name
  (`<bin>-x86_64-unknown-linux-musl`), driven by $BINARIES from
  buildenv.sh, so future binaries don't need workflow edits.
- Manual git clone replaces actions/checkout@v4 (Forgejo + checkout@v4
  auth bug, session 60 playbook items 14-16).
- python3 replaces jq for release-id parsing.
- Workspace build via build_binaries() — no separate build_herodo.sh
  invocation needed; covers all 4 binaries in one pass.
- buildenv.sh BINARIES expanded from hero_do (single) to all four:
  hero_do + hero_runner_rhai{,_server,_ui}, matching the consumer
  install paths.
- build-macos.yaml dropped — forge.ourworld.tf has no macOS runner,
  every workflow there has been a guaranteed failure since inception.

Tag v0.1.0-rc1 will be cut after this lands on development. Expected
output: 4 release assets, all x86_64-unknown-linux-musl.

Signed-off-by: mik-tf
mik-tf merged commit 74ae6f0b18 into development 2026-05-06 17:21:09 +00:00
Sign in to join this conversation.
No reviewers
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_lib_rhai!14
No description provided.