ci(build): add workflow_dispatch workflow for ad-hoc feature-branch images (#108) #109
No reviewers
Labels
No labels
area:auth
area:ci
area:db
area:infra
area:native
area:pwa
area:service
epic
feature
foundation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
james/carol!109
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "108-feature-branch-image-workflow"
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?
Closes #108.
What this adds
.forgejo/workflows/build-feature-image.yml— aworkflow_dispatchworkflow that builds a container image from any branch (selected in the Run UI) and optionally pushes it to the registry asbranch-<slugified-branch>-<sha7>. Closes the gap between "I want to poke at this branch in a container" and "tag a release candidate", which was the only path into the registry before.Single boolean input:
push(defaulttrue). Uncheck for a dry-run build that doesn't consume registry storage — useful as a "does this branch even build" sanity check.Design choices made (confirmed in chat)
workflow_dispatchonlybranch-…:latestforge.int.wynning.techpush,forge.wynning.techfor the user-facing pull referenceimage.source/revision/versionplustech.wynning.carol.build-type=feature-branchdocker inspectmakes the image's nature obvious.Files
.forgejo/workflows/build-feature-image.ymldocs/ci.mdTest plan
actionlint .forgejo/workflows/*.yml— clean across all workflow files including the new one.push=false. Expect a successful build that doesn't upload anything; log line names the tag.push=true. Expectforge.wynning.tech/james/carol:branch-<slug>-<sha7>in the registry, pullable viadocker pull.docker inspect <image>shows thetech.wynning.carol.build-type=feature-branchlabel and the standard OCI labels.Follow-up gestures
branch-…tags — file when the registry starts feeling full.A small detour worth noting
Your message had the word "workflow" in it which triggered the harness's multi-agent-orchestration opt-in heuristic. That tool is for fan-out tasks (parallel finders, judge panels, etc.), not for "write a CI workflow YAML file". Proceeded as a normal single-PR task — flagging in case the heuristic keeps tripping and you want it suppressed somehow.