ci: restructure release flow to workflow_dispatch #4
Loading…
Reference in a new issue
No description provided.
Delete branch "ci/release-flow-restructure"
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?
Problem
The current release flow is tag-push-triggered:
make release VERSION=x.y.zpushes a git tag, which triggers CI to build and push images. But PR #3 bumpedChart.yamlto0.6.5in the feature branch itself — so the moment it merged to main, ArgoCD auto-synced and tried to pull0.6.5images that didn't exist yet. Result:ImagePullBackOfffor 3 pods until CI finished.Fix
Switch the release workflow from tag-push trigger to manual
workflow_dispatchwith a version input. The workflow now:chart/Chart.yaml(version + appVersion), commits the bump to main, and tags itvX.Y.ZThe chart version bump lands on main only after images exist, so ArgoCD auto-sync never sees an image tag that doesn't exist yet.
Changes
.forgejo/workflows/release.yml: Rewritten fromon: push: tagstoon: workflow_dispatchwithversioninput. Thechartjob now checks outmain(not the tag), bumpsChart.yaml, commits, pushes, and creates the tag. Re-runnable — ifChart.yamlis already at the target version, the bump/commit/tag step is skipped.Makefile:make release VERSION=x.y.znow calls the Forgejo API to dispatch the workflow instead of pushing a tag. RequiresFORGEJO_TOKEN(same token used for image pushes). Comments updated.Going forward
Chart.yaml. The release workflow handles versioning.make release VERSION=0.7.0(or trigger from the Forgejo UI: Actions → Run workflow).