Feature request: allow selected action owners to be explicitly excluded from lockfile pinning
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 45/100
Research direction
Start by tracing how gh actions-lock resolves workflow refs, reports findings such as self-repository-action, and verifies lockfile entries; then inspect runtime enforcement and lockfile parsing. The issue names no source files or tests, so locate those entry points first. Done means exclusions are recorded with reasons in the lockfile, reported during resolution, and treated as compliant by verification and enforcement only when listed.
Written by the indexing model from the issue text.
Description
Problem
Our workflows mix public GitHub-maintained actions with internal actions published by our own organization, e.g.:
steps:
- uses: actions/checkout@v7
- uses: internal-action/build-image@v1
We want SHA-locked integrity for third-party/public actions (actions/*), but our internal actions are deliberately consumed via a floating major tag (@v1). They are released frequently under our own access controls and review process, and we want consumers to pick up patch releases without a lockfile change for every internal release.
Today gh actions-lock has no way to exclude specific actions or owners. Because enforcement requires every dependency of an onboarded workflow to be present in actions.lock, our only options are:
- Lock internal actions too and run
--relockconstantly (heavy churn for every internal release), or - Leave the whole workflow un-onboarded, losing protection for the public actions as well.
Neither is a good fit. Option 2 in particular pushes teams to skip locking entirely.
Proposal
Support an explicit, auditable exclusion recorded in the lockfile itself (not only as a CLI flag), so the runtime can tell "intentionally unlocked" apart from "missing":
# .github/workflows/actions.lock
unlocked:
- owner: internal-action # or a pattern like 'my-org/*'
reason: 'Internal actions, governed by org release process'
Suggested behavior:
gh actions-lockskips resolution for matching refs and reports them as an informational finding (similar toself-repository-action), never silently.--verify/--verify-localtreat matching refs as compliant only if they are listed underunlocked.- Runtime enforcement accepts listed refs unpinned and still requires everything else to be locked.
- Optionally, restrict eligible owners (e.g. same owner/org as the repository, or an org-level policy) so this can't be used to unlock arbitrary third-party actions.
- Dominant language
- Go
- Stars
- 253
- Forks
- 15
- Avg merge
- 19h 30m
- Merged PRs (30d)
- 60
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/gh-actions-lock
-
Fix mode unpins a reusable workflow call when the same repository is also used as a step actionPossibly taken @suzuki-shunsuke claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/gh-actions-lock#261 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
github/gh-actions-lock#264 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 Half a day Newbie friendliness 42/100
github/gh-actions-lock#262 ·
Maintainers usually reply within 1 day
-
Dependabot drops an unchanged transitive dependency when bumping a composite actionPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 4/5 3-5 days Newbie friendliness 30/100
github/gh-actions-lock#257 · 1 comment ·
Maintainers usually reply within 1 day
-
--migrate-local-actions rewrites action files in nested worktrees and submodulesPossibly taken @aksestok claimed this 2 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 20/100
github/gh-actions-lock#253 ·
Maintainers usually reply within 1 day
All issues in github/gh-actions-lock
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Azure/aztfexport#690 · 1 reaction ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
kubecost/ibm-finops-agent#289 ·
Maintainers usually reply within 2 days
-
ai-driven-fuzzing bug Minor
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
linagora/cozy-stack#5162 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
prometheus/prometheus-mcp#213 ·
Maintainers usually reply within 3 days
-
Deleting a client-role keycloak_generic_role_mapper removes all roles of that client from the scope mappingPossibly taken @albarkauss claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
keycloak/terraform-provider-keycloak#1786 ·
Maintainers usually reply within 5 days