chore(ops): Phase 27-prep — Forgejo Releases page parity (hero_embedder --download pattern) + cut v0.4.0 Hero OS integration milestone #13
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?
Why
The customer-readiness story needs a working
service_hero_assistance install --downloadpath (Phase 27 / #12). That helper consumes Forgejo Releases page binary assets (the hero_embedder pattern) — but our current CI publishes only to the Generic package registry. 6 tags pushed (v0.1.0..v0.3.1), 0 Forgejo Releases. Phase 27 would fail today even after we ship the install module.Reference impl:
lhumina_code/hero_embedderv0.2.0-rc1 — 12 binary assets attached to the Releases page, naming convention<bin>-<target-triple>.Issue #12 body's claim of "publishes to both Releases page AND Generic registry" is stale/aspirational; reality is Generic-only.
Order
Phase 27-prep — must complete before Phase 27 (#12). Can run in parallel with Phases 24/25/26; recommended slot is the interlude between Phase 26 and Phase 27 once the customer SPA island work lands. v0.4.0 milestone tag waits until all four integration phases (24-27) are engineering-complete.
What
A. CI workflow update — attach assets to Forgejo Releases page
Update
.forgejo/workflows/build-linux.yamlto mirror hero_embedder's release step:v*tag push, after building binaries, create-or-update a Forgejo Release at that tag and upload the 3 binaries as Release assets.<bin>-linux-amd64(matchessvc_install_downloadexactly).Reference:
forge-release-workflowskill canonical recipe; cross-check againsthero_embedder/.forgejo/workflows/.B. Backfill existing tags
v0.1.0, v0.2.0, v0.2.1, v0.2.2, v0.3.0, v0.3.1 are pushed but have no Releases page. Two options (decide in step 1):
Recommend B2 for blast-radius reasons; B1 is over-engineering past tags.
C. v0.4.0 milestone tag
Once Phases 24-27 all land, bump
buildenv.shVERSION to0.4.0, tagv0.4.0, let CI publish. This is the "Hero OS integration complete" marker. Distinct from any v1.0.0 tag (still customer-gated by #7).Acceptance
.forgejo/workflows/build-linux.yamlpublishes binaries to both Forgejo Releases page and Generic package registry on everyv*tag<bin>-linux-amd64confirmed compatible withsvc_install_downloadhelper (parity with hero_embedder)buildenv.shVERSION →0.4.0;v0.4.0tag pushed; CI publishes; release page populatedFiles to touch
.forgejo/workflows/build-linux.yaml— add Forgejo Releases publish stepbuildenv.sh— VERSION bump (only at v0.4.0 cut, not at workflow-fix time)Out of scope
linux-amd64per current CIReferences
forge-release-workflow— canonical Forgejo release-on-tag recipeforge_release— release managementlhumina_code/hero_embedderv0.2.0-rc1 Releases page (12 assets, 5 binaries × 2 arches + onnxruntime)lhumina_code/hero_skills/nutools/modules/services/service_collab.nu—svc_install_downloadconsumerStatus check — substantial divergence from this issue's design
The companion issue #14 landed
f81aeccwhich deletedbuild-linux.yamland replaced it withlab-publish.yaml. This changed the publish surface in ways that overlap but do NOT match this issue's acceptance:build-linux.yaml(kept + extended)build-linux.yamldeleted + replaced bylab-publish.yamlv*tag pushpushto development (every commit)x86_64-unknown-linux-gnux86_64-unknown-linux-musl<bin>-linux-amd64<bin>-linux-musl-x86_64v*(immutable)latesttag/latestonlysvc_install_downloadcompatibilitylinux-amd64linux-musl-x86_64suffixSubstantive intent is met: binaries are now reachable from a public Forge URL for the
--downloadworkflow. Naming-suffix compatibility is broken for the existingsvc_install_downloadhelper in hero_skills (Phase 27 / #12 dependency).Three paths from here:
svc_install_downloadin hero_skills to accept eitherlinux-amd64(legacy) orlinux-musl-x86_64(canonical going-forward). Aligns with the org-wide rollout per hero_skills#268.linux-amd64-suffixed glibc binaries onv*tag pushes, preserving legacy compatibility for unmigrated install modules.Leaving open pending decision. Recommend option 1 (org-wide rollout in any case).
Signed-by: mik-tf mik-tf@noreply.invalid