Repository navigation
ci: keep the major version tag pointing at the latest release - #28
dekelattias-orca wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Orca Security Scan Summary
| Status | Check | Issues by priority | |
|---|---|---|---|
| Secrets | View in Orca | ||
| Vulnerabilities | View in Orca |
CI fix: container_scan_jobFailure: Root cause: |
guydanko-orca
left a comment
There was a problem hiding this comment.
LGTM. Matches the workflow merged in orcasecurity/shiftleft-sast-action#26.
CI fix: container_scan_jobFailure: Root cause: No fix needed on this PR: this PR adds only Verified: read the failed job log for run 42478337986; confirmed the same workflow's previous run (May 2026, Prevention: Pin the scan target in test workflows to an image digest so base-image CVE drift surfaces on a deliberate bump instead of failing unrelated PRs. |
Why
The floating
v1tag is what this repo's README tells users to pin to, but nothing moves it — it has to be done by hand after each release.In orcasecurity/shiftleft-sast-action that step was missed on four consecutive releases and
v1sat on a February build for nine months, until a customer noticed their workflows were not picking up fixes. This repo is currently in sync (v1->9cceca83= v1.0.6, Nov 2024), so this is preventative, not a fix. It has not released in two years, which cuts both ways: drift is unlikely, but it would also go unnoticed for a long time.Same fix as orcasecurity/shiftleft-sast-action#26.
Change
Adds
.github/workflows/update-major-tag.yml, which re-points the major tag at the newest release:release: released— movesv1to the publishedvMAJOR.MINOR.PATCHtag automatically.releaseddoes not fire for pre-releases, so a pre-release can never movev1.workflow_dispatch— moves it on demand; optionaltaginput, falls back to the latest release. Passing an older tag rollsv1back.Guards: a concurrency group so two releases published close together can't race on the force-push; tags that aren't
vMAJOR.MINOR.PATCHare skipped with a warning; the major is derived from the release tag, so a futurev2works unchanged.The tag stays annotated. Needs
contents: write. The only action used isactions/checkout, pinned to the same SHA already used by this repo's other workflows.Verification
YAML parses and the tag-resolution logic was exercised locally. The workflow itself has not been executed —
workflow_dispatchonly appears once the file is on the default branch, and thereleasepath needs a real release. After merging, run it once manually from the Actions tab: it will be a no-op on content, but it provescontents: writeis sufficient and that no tag ruleset blocks the force-push.Caveat
If a ruleset is ever added over
refs/tags/v*, this push will fail unless the ruleset grants the workflow a bypass. There's a comment in the file to make that easy to trace.