ci(lab-publish): derive release tag from branch (main->latest, development->latest-dev) (cherry-pick) #77

Merged
sameh-farouk merged 1 commit from development_sameh_cherry_ci_release_tag into main 2026-06-07 15:07:26 +00:00
Member

Cherry-pick of #76 (commit a803457) onto main.

The publish workflow must exist on main for a push to main to trigger the main -> latest job — Forgejo evaluates the workflow file as it exists on the pushed branch. #76 put the new logic on development (now publishing latest-dev); this carries it to main so stable latest publishing actually activates.

Follows the #75 cherry-pick-to-main pattern.

Note: merging this PR is itself a push to main, which will run the now-updated workflow at the merge commit and publish a stable latest from current main. That is the intended first stable publish.

Cherry-pick of #76 (commit a803457) onto `main`. The publish workflow must exist **on `main`** for a push to `main` to trigger the `main -> latest` job — Forgejo evaluates the workflow file as it exists on the pushed branch. #76 put the new logic on `development` (now publishing `latest-dev`); this carries it to `main` so stable `latest` publishing actually activates. Follows the #75 cherry-pick-to-main pattern. **Note:** merging this PR is itself a push to `main`, which will run the now-updated workflow at the merge commit and publish a stable `latest` from current `main`. That is the intended first stable publish.
The publish workflow uploaded every push to the `latest` release because no
--release-tag was passed and lab defaults to `latest`. So development builds
clobbered the stable `latest` release, and `v*` tag pushes landed in `latest`
too instead of their own versioned release.

Adopt the canonical hero_proc tag logic:
  - push to main        -> latest      (stable)
  - push to development -> latest-dev  (lab marks any `-dev` tag prerelease)
  - push v* tag         -> the ref name (versioned release)

Add `main` to the push triggers and pass --release-tag "$TAG" (supported by the
lab installed from hero_skills@development). Kept this repo's local CI specifics
(RUST_MIN_STACK SIGSEGV guard, Rust 1.95, inline git-auth) rather than a verbatim
drop-in of the newer canonical file, which also bumps the toolchain and swaps the
git-auth step — separate concerns.
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_collab!77
No description provided.