lab install.sh one-liner ignores the fetched branch — always builds lab from development #317
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_skills#317
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?
Summary
crates/lab/install.shinvoked as the documented one-liner(
curl -sSfL .../raw/branch/<X>/crates/lab/install.sh | bash) does notbuild
labfrom branch<X>. It always cloneshero_skills@developmentandbuilds
lab(with--locked) against whatever that branch's labCargo.lockpins — i.e. the
development-pinnedherolib_*,hero_proc_sdk,hero_blueprint, etc.Why
BRANCH="${BRANCH:-development}"— the default branch isdevelopment."use existing checkout" detection (
BASH_SOURCE[0]is a real file) neverfires; it falls through to
git clone --branch "$BRANCH".to the script, so fetching
.../raw/branch/main/.../install.shstill clonesand builds
development.Impact
The canonical release workflow (
.forgejo/workflows/lab-publish.yaml) runs onmain,development, andintegration. Onmainandintegrationruns thebuild tool
labwas still being compiled fromdevelopment-pinned deps. Seendirectly in CI on a hero_proc
integrationrun:Current workaround (already in the canonical workflow)
The workflow now fetches install.sh from the matching branch and passes
--branch, which the script does honor:Suggested fix (upstream, so callers don't have to remember --branch)
BRANCH/LAB_BRANCHenv var in one-liner mode (so... | BRANCH=main bashworks), and/ormaininstead ofdevelopmentfor stability, and/or--branchto build labfrom a specific branch.
Filed while rolling out the 3-branch canonical
lab-publish.yamlacross theproduction repos.