chore: pin GitHub Actions to commit SHAs - #316

Open
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814
Open

chore: pin GitHub Actions to commit SHAs#316
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814

Conversation

@BGos87

@BGos87BGos87 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Pin every uses: ref in .github/workflows/ (and any composite action
files) to a full 40-character commit SHA, with the original tag
preserved as a # vX comment.

Why

Tags and branches are mutable, so a compromised action can replace what
runs in our pipelines without changing the tag we reference. Pinning to
a SHA closes that supply-chain vector. See GitHub's hardening guide:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions.

Deadline

TechOps is enforcing SHA-pinned GitHub Actions across the org.
Merging this PR brings the repo into compliance; workflows that still
reference mutable tags or branches may be blocked from running.

How

Generated mechanically with pinact run.
No version bumps were applied (strict pin); follow-up upgrades can come
from Renovate or a separate pinact run -u PR.

Test plan

  • CI green on this branch

Note

Low Risk
CI-only pinning with no application or secret-handling logic changes; main risk is a mis-pinned SHA breaking a workflow run, not product behavior.

Overview
Replaces mutable version tags on third-party and MetaMask uses: references with full commit SHAs, keeping the original tag in a # vX comment for readability. Updates span build/test, release PR creation, docs publishing, and npm release workflows (actions/checkout, setup-node, cache, and MetaMask publish/release actions).

This is a supply-chain hardening change only: workflow logic, secrets, and job graphs are unchanged; each step should run the same action code as before, just pinned immutably for org compliance.

Reviewed by Cursor Bugbot for commit b707732. Bugbot is set up for automated code reviews on this repo. Configure here.

Pin every `uses:` ref in .github/workflows and composite actions to a
full 40-character commit SHA, with the original tag preserved as a
comment, e.g.
uses: actions/checkout@11bd719 # v4
Tags and branches are mutable; commit SHAs are not. Pinning to a SHA
closes a supply-chain vector where a compromised action could replace
what runs in CI without changing the tag we reference.
Generated mechanically with `pinact run`
(https://github.com/suzuki-shunsuke/pinact). No version bumps were
applied (strict pin).
@BGos87
BGos87 requested review from a team as code ownersAugust 14, 2026 11:53
node-version-file: '.nvmrc'
cache: 'yarn'
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
yarn install
yarn build
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BGos87@github-advanced-security
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

chore: pin GitHub Actions to commit SHAs - #316

Open
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814
Open

chore: pin GitHub Actions to commit SHAs#316
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814

Conversation

@BGos87

@BGos87BGos87 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Pin every uses: ref in .github/workflows/ (and any composite action
files) to a full 40-character commit SHA, with the original tag
preserved as a # vX comment.

Why

Tags and branches are mutable, so a compromised action can replace what
runs in our pipelines without changing the tag we reference. Pinning to
a SHA closes that supply-chain vector. See GitHub's hardening guide:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions.

Deadline

TechOps is enforcing SHA-pinned GitHub Actions across the org.
Merging this PR brings the repo into compliance; workflows that still
reference mutable tags or branches may be blocked from running.

How

Generated mechanically with pinact run.
No version bumps were applied (strict pin); follow-up upgrades can come
from Renovate or a separate pinact run -u PR.

Test plan

  • CI green on this branch

Note

Low Risk
CI-only pinning with no application or secret-handling logic changes; main risk is a mis-pinned SHA breaking a workflow run, not product behavior.

Overview
Replaces mutable version tags on third-party and MetaMask uses: references with full commit SHAs, keeping the original tag in a # vX comment for readability. Updates span build/test, release PR creation, docs publishing, and npm release workflows (actions/checkout, setup-node, cache, and MetaMask publish/release actions).

This is a supply-chain hardening change only: workflow logic, secrets, and job graphs are unchanged; each step should run the same action code as before, just pinned immutably for org compliance.

Reviewed by Cursor Bugbot for commit b707732. Bugbot is set up for automated code reviews on this repo. Configure here.

Pin every `uses:` ref in .github/workflows and composite actions to a
full 40-character commit SHA, with the original tag preserved as a
comment, e.g.
uses: actions/checkout@11bd719 # v4
Tags and branches are mutable; commit SHAs are not. Pinning to a SHA
closes a supply-chain vector where a compromised action could replace
what runs in CI without changing the tag we reference.
Generated mechanically with `pinact run`
(https://github.com/suzuki-shunsuke/pinact). No version bumps were
applied (strict pin).
@BGos87
BGos87 requested review from a team as code ownersAugust 14, 2026 11:53
node-version-file: '.nvmrc'
cache: 'yarn'
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
yarn install
yarn build
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BGos87@github-advanced-security
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: pin GitHub Actions to commit SHAs - #316

Open
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814
Open

chore: pin GitHub Actions to commit SHAs#316
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814

Conversation

@BGos87

@BGos87BGos87 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Pin every uses: ref in .github/workflows/ (and any composite action
files) to a full 40-character commit SHA, with the original tag
preserved as a # vX comment.

Why

Tags and branches are mutable, so a compromised action can replace what
runs in our pipelines without changing the tag we reference. Pinning to
a SHA closes that supply-chain vector. See GitHub's hardening guide:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions.

Deadline

TechOps is enforcing SHA-pinned GitHub Actions across the org.
Merging this PR brings the repo into compliance; workflows that still
reference mutable tags or branches may be blocked from running.

How

Generated mechanically with pinact run.
No version bumps were applied (strict pin); follow-up upgrades can come
from Renovate or a separate pinact run -u PR.

Test plan

  • CI green on this branch

Note

Low Risk
CI-only pinning with no application or secret-handling logic changes; main risk is a mis-pinned SHA breaking a workflow run, not product behavior.

Overview
Replaces mutable version tags on third-party and MetaMask uses: references with full commit SHAs, keeping the original tag in a # vX comment for readability. Updates span build/test, release PR creation, docs publishing, and npm release workflows (actions/checkout, setup-node, cache, and MetaMask publish/release actions).

This is a supply-chain hardening change only: workflow logic, secrets, and job graphs are unchanged; each step should run the same action code as before, just pinned immutably for org compliance.

Reviewed by Cursor Bugbot for commit b707732. Bugbot is set up for automated code reviews on this repo. Configure here.

Pin every `uses:` ref in .github/workflows and composite actions to a
full 40-character commit SHA, with the original tag preserved as a
comment, e.g.
uses: actions/checkout@11bd719 # v4
Tags and branches are mutable; commit SHAs are not. Pinning to a SHA
closes a supply-chain vector where a compromised action could replace
what runs in CI without changing the tag we reference.
Generated mechanically with `pinact run`
(https://github.com/suzuki-shunsuke/pinact). No version bumps were
applied (strict pin).
@BGos87
BGos87 requested review from a team as code ownersAugust 14, 2026 11:53
node-version-file: '.nvmrc'
cache: 'yarn'
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
yarn install
yarn build
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BGos87@github-advanced-security
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: pin GitHub Actions to commit SHAs - #316

Open
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814
Open

chore: pin GitHub Actions to commit SHAs#316
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814

Conversation

@BGos87

@BGos87BGos87 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Pin every uses: ref in .github/workflows/ (and any composite action
files) to a full 40-character commit SHA, with the original tag
preserved as a # vX comment.

Why

Tags and branches are mutable, so a compromised action can replace what
runs in our pipelines without changing the tag we reference. Pinning to
a SHA closes that supply-chain vector. See GitHub's hardening guide:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions.

Deadline

TechOps is enforcing SHA-pinned GitHub Actions across the org.
Merging this PR brings the repo into compliance; workflows that still
reference mutable tags or branches may be blocked from running.

How

Generated mechanically with pinact run.
No version bumps were applied (strict pin); follow-up upgrades can come
from Renovate or a separate pinact run -u PR.

Test plan

  • CI green on this branch

Note

Low Risk
CI-only pinning with no application or secret-handling logic changes; main risk is a mis-pinned SHA breaking a workflow run, not product behavior.

Overview
Replaces mutable version tags on third-party and MetaMask uses: references with full commit SHAs, keeping the original tag in a # vX comment for readability. Updates span build/test, release PR creation, docs publishing, and npm release workflows (actions/checkout, setup-node, cache, and MetaMask publish/release actions).

This is a supply-chain hardening change only: workflow logic, secrets, and job graphs are unchanged; each step should run the same action code as before, just pinned immutably for org compliance.

Reviewed by Cursor Bugbot for commit b707732. Bugbot is set up for automated code reviews on this repo. Configure here.

Pin every `uses:` ref in .github/workflows and composite actions to a
full 40-character commit SHA, with the original tag preserved as a
comment, e.g.
uses: actions/checkout@11bd719 # v4
Tags and branches are mutable; commit SHAs are not. Pinning to a SHA
closes a supply-chain vector where a compromised action could replace
what runs in CI without changing the tag we reference.
Generated mechanically with `pinact run`
(https://github.com/suzuki-shunsuke/pinact). No version bumps were
applied (strict pin).
@BGos87
BGos87 requested review from a team as code ownersAugust 14, 2026 11:53
node-version-file: '.nvmrc'
cache: 'yarn'
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
yarn install
yarn build
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BGos87@github-advanced-security
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

chore: pin GitHub Actions to commit SHAs - #316

Open
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814
Open

chore: pin GitHub Actions to commit SHAs#316
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814

Conversation

@BGos87

@BGos87BGos87 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Pin every uses: ref in .github/workflows/ (and any composite action
files) to a full 40-character commit SHA, with the original tag
preserved as a # vX comment.

Why

Tags and branches are mutable, so a compromised action can replace what
runs in our pipelines without changing the tag we reference. Pinning to
a SHA closes that supply-chain vector. See GitHub's hardening guide:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions.

Deadline

TechOps is enforcing SHA-pinned GitHub Actions across the org.
Merging this PR brings the repo into compliance; workflows that still
reference mutable tags or branches may be blocked from running.

How

Generated mechanically with pinact run.
No version bumps were applied (strict pin); follow-up upgrades can come
from Renovate or a separate pinact run -u PR.

Test plan

  • CI green on this branch

Note

Low Risk
CI-only pinning with no application or secret-handling logic changes; main risk is a mis-pinned SHA breaking a workflow run, not product behavior.

Overview
Replaces mutable version tags on third-party and MetaMask uses: references with full commit SHAs, keeping the original tag in a # vX comment for readability. Updates span build/test, release PR creation, docs publishing, and npm release workflows (actions/checkout, setup-node, cache, and MetaMask publish/release actions).

This is a supply-chain hardening change only: workflow logic, secrets, and job graphs are unchanged; each step should run the same action code as before, just pinned immutably for org compliance.

Reviewed by Cursor Bugbot for commit b707732. Bugbot is set up for automated code reviews on this repo. Configure here.

Pin every `uses:` ref in .github/workflows and composite actions to a
full 40-character commit SHA, with the original tag preserved as a
comment, e.g.
uses: actions/checkout@11bd719 # v4
Tags and branches are mutable; commit SHAs are not. Pinning to a SHA
closes a supply-chain vector where a compromised action could replace
what runs in CI without changing the tag we reference.
Generated mechanically with `pinact run`
(https://github.com/suzuki-shunsuke/pinact). No version bumps were
applied (strict pin).
@BGos87
BGos87 requested review from a team as code ownersAugust 14, 2026 11:53
node-version-file: '.nvmrc'
cache: 'yarn'
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
yarn install
yarn build
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BGos87@github-advanced-security
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: pin GitHub Actions to commit SHAs - #316

Open
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814
Open

chore: pin GitHub Actions to commit SHAs#316
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814

Conversation

@BGos87

@BGos87BGos87 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Pin every uses: ref in .github/workflows/ (and any composite action
files) to a full 40-character commit SHA, with the original tag
preserved as a # vX comment.

Why

Tags and branches are mutable, so a compromised action can replace what
runs in our pipelines without changing the tag we reference. Pinning to
a SHA closes that supply-chain vector. See GitHub's hardening guide:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions.

Deadline

TechOps is enforcing SHA-pinned GitHub Actions across the org.
Merging this PR brings the repo into compliance; workflows that still
reference mutable tags or branches may be blocked from running.

How

Generated mechanically with pinact run.
No version bumps were applied (strict pin); follow-up upgrades can come
from Renovate or a separate pinact run -u PR.

Test plan

  • CI green on this branch

Note

Low Risk
CI-only pinning with no application or secret-handling logic changes; main risk is a mis-pinned SHA breaking a workflow run, not product behavior.

Overview
Replaces mutable version tags on third-party and MetaMask uses: references with full commit SHAs, keeping the original tag in a # vX comment for readability. Updates span build/test, release PR creation, docs publishing, and npm release workflows (actions/checkout, setup-node, cache, and MetaMask publish/release actions).

This is a supply-chain hardening change only: workflow logic, secrets, and job graphs are unchanged; each step should run the same action code as before, just pinned immutably for org compliance.

Reviewed by Cursor Bugbot for commit b707732. Bugbot is set up for automated code reviews on this repo. Configure here.

Pin every `uses:` ref in .github/workflows and composite actions to a
full 40-character commit SHA, with the original tag preserved as a
comment, e.g.
uses: actions/checkout@11bd719 # v4
Tags and branches are mutable; commit SHAs are not. Pinning to a SHA
closes a supply-chain vector where a compromised action could replace
what runs in CI without changing the tag we reference.
Generated mechanically with `pinact run`
(https://github.com/suzuki-shunsuke/pinact). No version bumps were
applied (strict pin).
@BGos87
BGos87 requested review from a team as code ownersAugust 14, 2026 11:53
node-version-file: '.nvmrc'
cache: 'yarn'
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
yarn install
yarn build
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BGos87@github-advanced-security
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

chore: pin GitHub Actions to commit SHAs - #316

Open
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814
Open

chore: pin GitHub Actions to commit SHAs#316
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814

Conversation

@BGos87

@BGos87BGos87 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Pin every uses: ref in .github/workflows/ (and any composite action
files) to a full 40-character commit SHA, with the original tag
preserved as a # vX comment.

Why

Tags and branches are mutable, so a compromised action can replace what
runs in our pipelines without changing the tag we reference. Pinning to
a SHA closes that supply-chain vector. See GitHub's hardening guide:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions.

Deadline

TechOps is enforcing SHA-pinned GitHub Actions across the org.
Merging this PR brings the repo into compliance; workflows that still
reference mutable tags or branches may be blocked from running.

How

Generated mechanically with pinact run.
No version bumps were applied (strict pin); follow-up upgrades can come
from Renovate or a separate pinact run -u PR.

Test plan

  • CI green on this branch

Note

Low Risk
CI-only pinning with no application or secret-handling logic changes; main risk is a mis-pinned SHA breaking a workflow run, not product behavior.

Overview
Replaces mutable version tags on third-party and MetaMask uses: references with full commit SHAs, keeping the original tag in a # vX comment for readability. Updates span build/test, release PR creation, docs publishing, and npm release workflows (actions/checkout, setup-node, cache, and MetaMask publish/release actions).

This is a supply-chain hardening change only: workflow logic, secrets, and job graphs are unchanged; each step should run the same action code as before, just pinned immutably for org compliance.

Reviewed by Cursor Bugbot for commit b707732. Bugbot is set up for automated code reviews on this repo. Configure here.

Pin every `uses:` ref in .github/workflows and composite actions to a
full 40-character commit SHA, with the original tag preserved as a
comment, e.g.
uses: actions/checkout@11bd719 # v4
Tags and branches are mutable; commit SHAs are not. Pinning to a SHA
closes a supply-chain vector where a compromised action could replace
what runs in CI without changing the tag we reference.
Generated mechanically with `pinact run`
(https://github.com/suzuki-shunsuke/pinact). No version bumps were
applied (strict pin).
@BGos87
BGos87 requested review from a team as code ownersAugust 14, 2026 11:53
node-version-file: '.nvmrc'
cache: 'yarn'
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
yarn install
yarn build
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BGos87@github-advanced-security
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

chore: pin GitHub Actions to commit SHAs - #316

Open
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814
Open

chore: pin GitHub Actions to commit SHAs#316
BGos87 wants to merge 1 commit into
mainfrom
chore/pin-github-actions-20260814

Conversation

@BGos87

@BGos87BGos87 commented Aug 14, 2026

Copy link
Copy Markdown

Summary

Pin every uses: ref in .github/workflows/ (and any composite action
files) to a full 40-character commit SHA, with the original tag
preserved as a # vX comment.

Why

Tags and branches are mutable, so a compromised action can replace what
runs in our pipelines without changing the tag we reference. Pinning to
a SHA closes that supply-chain vector. See GitHub's hardening guide:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions.

Deadline

TechOps is enforcing SHA-pinned GitHub Actions across the org.
Merging this PR brings the repo into compliance; workflows that still
reference mutable tags or branches may be blocked from running.

How

Generated mechanically with pinact run.
No version bumps were applied (strict pin); follow-up upgrades can come
from Renovate or a separate pinact run -u PR.

Test plan

  • CI green on this branch

Note

Low Risk
CI-only pinning with no application or secret-handling logic changes; main risk is a mis-pinned SHA breaking a workflow run, not product behavior.

Overview
Replaces mutable version tags on third-party and MetaMask uses: references with full commit SHAs, keeping the original tag in a # vX comment for readability. Updates span build/test, release PR creation, docs publishing, and npm release workflows (actions/checkout, setup-node, cache, and MetaMask publish/release actions).

This is a supply-chain hardening change only: workflow logic, secrets, and job graphs are unchanged; each step should run the same action code as before, just pinned immutably for org compliance.

Reviewed by Cursor Bugbot for commit b707732. Bugbot is set up for automated code reviews on this repo. Configure here.

Pin every `uses:` ref in .github/workflows and composite actions to a
full 40-character commit SHA, with the original tag preserved as a
comment, e.g.
uses: actions/checkout@11bd719 # v4
Tags and branches are mutable; commit SHAs are not. Pinning to a SHA
closes a supply-chain vector where a compromised action could replace
what runs in CI without changing the tag we reference.
Generated mechanically with `pinact run`
(https://github.com/suzuki-shunsuke/pinact). No version bumps were
applied (strict pin).
@BGos87
BGos87 requested review from a team as code ownersAugust 14, 2026 11:53
node-version-file: '.nvmrc'
cache: 'yarn'
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
yarn install
yarn build
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
with:
ref: ${{ github.sha }}
- uses: actions/cache@v3
- uses: actions/cache@6f8efc29b200d32929f49075959781ed54ec270c # v3.5.0
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BGos87@github-advanced-security