[ci] Adopt canonical lab-publish.yaml for releases (lab build + auto-publish to releases/tag/latest) #3

Closed
opened 2026-05-22 02:48:16 +00:00 by mik-tf · 0 comments
Owner

Goal

Adopt the canonical .forgejo/workflows/lab-publish.yaml so every push to development (and every v* tag) auto-publishes linux-musl-x86_64 binaries to releases/tag/latest — matching the pattern shipped in hero_slides/.forgejo/workflows/lab-publish.yaml and the org-wide rollout tracked at hero_skills#268.

This replaces the absence of any release workflow today (no .forgejo/workflows/ directory exists in this repo at present).

Pre-flight (local)

Confirm the workspace builds cleanly via lab before wiring CI:

cd lhumina_code/hero_cockpit
lab build --release --install --workspace

Workspace shape (no concerns expected — standard Hero service layout):

  • 5 crates: hero_cockpit, hero_cockpit_admin, hero_cockpit_sdk, hero_cockpit_server, hero_cockpit_web
  • 4 service.toml files (server / web / admin / cli)
  • No WASM members, no desktop binary, no system-lib dependencies

CI step

If local build is clean, drop the canonical lab-publish.yaml (verbatim from hero_slides) into .forgejo/workflows/. The file is designed to be drop-in identical across hero_* repos — no per-repo edits.

Requires FORGEJO_TOKEN secret in repo Actions settings (write:repository scope).

Acceptance

  • lab build --release --install --workspace exits 0 locally
  • .forgejo/workflows/lab-publish.yaml lands on development
  • First post-push CI run succeeds; releases/tag/latest shows refreshed linux-musl-x86_64 binaries + md5 sidecars

Signed-by: mik-tf mik-tf@noreply.invalid

## Goal Adopt the canonical `.forgejo/workflows/lab-publish.yaml` so every push to `development` (and every `v*` tag) auto-publishes `linux-musl-x86_64` binaries to `releases/tag/latest` — matching the pattern shipped in [hero_slides/.forgejo/workflows/lab-publish.yaml](https://forge.ourworld.tf/lhumina_code/hero_slides/src/branch/development/.forgejo/workflows/lab-publish.yaml) and the org-wide rollout tracked at [hero_skills#268](https://forge.ourworld.tf/lhumina_code/hero_skills/issues/268). This replaces the absence of any release workflow today (no `.forgejo/workflows/` directory exists in this repo at present). ## Pre-flight (local) Confirm the workspace builds cleanly via `lab` before wiring CI: ```bash cd lhumina_code/hero_cockpit lab build --release --install --workspace ``` Workspace shape (no concerns expected — standard Hero service layout): - 5 crates: `hero_cockpit`, `hero_cockpit_admin`, `hero_cockpit_sdk`, `hero_cockpit_server`, `hero_cockpit_web` - 4 `service.toml` files (server / web / admin / cli) - No WASM members, no desktop binary, no system-lib dependencies ## CI step If local build is clean, drop the canonical `lab-publish.yaml` (verbatim from hero_slides) into `.forgejo/workflows/`. The file is designed to be drop-in identical across hero_* repos — no per-repo edits. Requires `FORGEJO_TOKEN` secret in repo Actions settings (write:repository scope). ## Acceptance - [ ] `lab build --release --install --workspace` exits 0 locally - [ ] `.forgejo/workflows/lab-publish.yaml` lands on `development` - [ ] First post-push CI run succeeds; `releases/tag/latest` shows refreshed `linux-musl-x86_64` binaries + md5 sidecars Signed-by: mik-tf <mik-tf@noreply.invalid>
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_cockpit#3
No description provided.