Repository navigation
Comparing changes
Open a pull request
base repository: github/gh-actions-lock
base: v0.1.3
head repository: github/gh-actions-lock
compare: v0.1.4
- 16 commits
- 30 files changed
- 1 contributor
Commits on Jun 26, 2026
-
ghapi: remove SSOURL header-capture mechanism
SSO detection is already handled at the error-message level via extractFixHint in pin_summary.go, making the X-GitHub-SSO header capture (ssoTransport, SSOURL(), ssoMu, ssoURLRE) redundant. Removes the transport wrapper, the SSOURL() method, the struct fields, the run.go caller blocks, and all associated tests. The ssoFixHints() function and extractFixHint() remain — SSO guidance still surfaces when API errors contain SSO/SAML keywords.
Configuration menu - View commit details
-
Copy full SHA for 948e683 - Browse repository at this point
Copy the full SHA 948e683View commit details -
pin_summary: surface SSO fix hints inline with unresolved warnings
The SSOURL header-capture was the only path that printed ssoFixHints() to the terminal. Now that it's gone, render the fix hint directly in renderUnresolvedWarnings when extractFixHint returns non-empty text. This surfaces 'gh auth refresh' guidance next to the SSO error itself, which is a better UX than printing it as a disconnected footer.
Configuration menu - View commit details
-
Copy full SHA for 6cb5d73 - Browse repository at this point
Copy the full SHA 6cb5d73View commit details -
run: restore SSO fix hints in --no-fix path via report scanning
The SSOURL header-capture removal dropped the SSO hint from --no-fix mode. Add reportHasSSO to scan finding Details for SSO keywords, and use it to surface ssoFixHints() in the --no-fix exit path. Also fix trailing blank lines flagged by gofmt.
Configuration menu - View commit details
-
Copy full SHA for 39ecdf2 - Browse repository at this point
Copy the full SHA 39ecdf2View commit details -
Merge pull request #70 from github/nodeselector-remove-dead-ssourl-code
Remove dead SSOURL header-capture mechanism
Configuration menu - View commit details
-
Copy full SHA for 0c9d6b5 - Browse repository at this point
Copy the full SHA 0c9d6b5View commit details
Commits on Jun 29, 2026
-
resolve: block composite actions that use local path references
When a remote composite action's steps contain uses: ./path, we cannot resolve transitive dependencies behind that local reference. Previously these were silently skipped (ParseActionRef returns nil for ./ prefixes), leaving a gap where unpinned transitive deps went undetected. Now the BFS in ResolveAllRecursive emits a CompositeLocalPathError for each ./path encountered in a remote composite's NestedUses. The diagnose layer detects this error type and surfaces a LocalAction finding at error severity, blocking the workflow.
Configuration menu - View commit details
-
Copy full SHA for 24ac87d - Browse repository at this point
Copy the full SHA 24ac87dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6db7feb - Browse repository at this point
Copy the full SHA 6db7febView commit details -
Merge pull request #71 from github/nodeselector-patch-3
action(relock): drop --no-onboard
Configuration menu - View commit details
-
Copy full SHA for 407d277 - Browse repository at this point
Copy the full SHA 407d277View commit details -
relock action: emit warning annotation on inaccessible repos
When the workflow token lacks access to a private action repository, the relock step now emits a ::warning:: annotation telling the user to run gh actions-lock locally instead of failing the entire workflow. This prevents Dependabot PRs from being blocked by token permission gaps that can only be resolved locally.
Configuration menu - View commit details
-
Copy full SHA for e639675 - Browse repository at this point
Copy the full SHA e639675View commit details -
scenarios: add composite_local_path_blocked test case
Uses the nodeselector/actions-test-fixtures/composite-with-local-path fixture which contains a composite action with uses: ./local-helper. Asserts exit 1 and output mentioning local path actions and composite.
Configuration menu - View commit details
-
Copy full SHA for 52c84cc - Browse repository at this point
Copy the full SHA 52c84ccView commit details -
relock action: remove entirely
The relock composite action can't work in practice — the workflow token (GITHUB_TOKEN) doesn't have access to private action repos like github/gh-actions-lock itself, so resolution always fails. See: github/actions-dispatch#768
Configuration menu - View commit details
-
Copy full SHA for 52272ac - Browse repository at this point
Copy the full SHA 52272acView commit details -
Merge pull request #72 from github/nodeselector-relock-annotation-on-…
…error Remove relock composite action
Configuration menu - View commit details
-
Copy full SHA for 9e640ac - Browse repository at this point
Copy the full SHA 9e640acView commit details -
checks: detect ref-moved on transitive deps
The checkRefMovedAndForgery loop only iterated pw.Refs (direct workflow uses). Transitive deps from composite actions were already in depIndex but never checked for upstream drift. Extract the per-ref logic into checkOneRefMoved and call it for both direct refs and depIndex entries not already covered by a direct ref.
Configuration menu - View commit details
-
Copy full SHA for 85708ad - Browse repository at this point
Copy the full SHA 85708adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6460d34 - Browse repository at this point
Copy the full SHA 6460d34View commit details -
Merge pull request #73 from github/nodeselector-block-composite-local…
…-paths Block composite local paths and detect transitive ref-moved
Configuration menu - View commit details
-
Copy full SHA for f473586 - Browse repository at this point
Copy the full SHA f473586View commit details -
remove hosted/self-hosted runner restrictions
The hosted-only restriction was a temporary gate that is no longer needed. All runner labels (self-hosted, custom, expression, runner groups) are now accepted for lockfile onboarding. The --allow-runners and -A (--allow-all-runners) flags are retained as deprecated no-ops for backward compatibility. They will be removed in the next minor release. Removed: - Self-hosted runner detection in diagnose.go and parse.go - NonHostedRunner/NonHostedLabels fields from ParsedWorkflow - RegisterOrgHostedLabels, IsHostedRunnerLabel, NonHostedRunnerLabels, HasNonHostedRunnerLabels from workflowfile/runson.go - OrgHostedRunnerNames API client (hosted_runners.go) - renderSelfHostedGroup, extractBracketedLabels terminal rendering - SelfHostedRunner/ExpressionRunner from JSON skip filter, unfixable error checks, IsValid/IsWarning/NeedsAttention switch cases - All related tests and scenario expectations updated
Configuration menu - View commit details
-
Copy full SHA for 1656597 - Browse repository at this point
Copy the full SHA 1656597View commit details -
Merge pull request #74 from github/nodeselector-noop-hosted-runner-flags
Remove hosted/self-hosted runner restrictions
Configuration menu - View commit details
-
Copy full SHA for 5d9a23f - Browse repository at this point
Copy the full SHA 5d9a23fView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.1.3...v0.1.4
