Feature Request: Improve compatibility with SHA pinning best practices
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- github-actions, typescript, vscode
- Domain
- ci-cd, developer-experience, devtools
Research direction
No files or tests are named. Start by tracing the extension's existing inline annotation and version-upgrade flows, then determine how SHA references map to published semver tags. Done means the agreed SHA-pinning behavior is implemented for the selected proposals and verified across annotation and upgrade interactions.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
With recent security escalations around unpinned SHAs and non-immutable release tags, the best practice in many orgs (and the best practice recommended by GitHub) is to hard-pin to SHA releases instead of semver refs.
However, this creates some issues in terms of readability and updates that otherwise would be nicely streamlined by this VS Code extension.
Describe the solution you'd like
- If the action is pinned to a SHA that is the same as a published semver tag, ideally that semver version would be shown inline in the extension annotation.
- If the user is pinned to a SHA and they click on the option to upgrade to the latest version, the extension would ideally recognize they are SHA-pinned and give them a SHA-pinned upgrade to that tag, rather than move to only pinning to the semver.
- If the user is pinned to a semver ref, the UI could give them an option to pin instead to the SHA ref that represents the latest from that semver. This could help users migrate to SHA-pinned references.
(Note: While both proposal 2 and proposal 3 are valuable together, they solve a similar problem. If proposal 3 is delivered, proposal 2 is less needed, and vice versa.)
Additional context
I think these features could go a long way to helping modernize GitHub Actions security, and make it more convenient for people keep their workflows safe (read: "safer") from exploits. Thanks!
- Dominant language
- TypeScript
- Stars
- 661
- Forks
- 214
- PR merge metrics
- No merged PRs in 30d
Contributor 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/vscode-github-actions
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
github/vscode-github-actions#627 · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
github/vscode-github-actions#630 · 1 reaction ·
-
long work Open
Difficulty 4/5 3-5 days Newbie friendliness 25/100
github/vscode-github-actions#628 ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 55/100
github/vscode-github-actions#625 ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 64/100
github/vscode-github-actions#621 · 3 comments ·
All issues in github/vscode-github-actions
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
bcgov/bc-wallet-mobile#4761 · 1 comment ·
-
external-issue to-triage
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
area-deployment area-integrations triage:bot-seen
Difficulty 2/5 Half a day Newbie friendliness 86/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
refactor
Difficulty 2/5 1-3 hours Newbie friendliness 84/100