Skip to content

Track reusable workflow calls in lock coverage - #161

Open
jay23606 wants to merge 2 commits into
github:mainfrom
jay23606:codex/issue-129-reusable-workflow-lock-refs
Open

jay23606 wants to merge 2 commits into
github:mainfrom
jay23606:codex/issue-129-reusable-workflow-lock-refs

Conversation

@jay23606

Copy link
Copy Markdown

Summary

Include remote reusable workflow calls from job-level jobs.<id>.uses in the lock scan. Normalize each call to its repository and ref so verification reports missing pins and fix mode retains required lock entries.

Fixes #129

Validation

  • go test -count=1 ./internal/pipeline ./internal/workflowfile passed.
  • go vet ./... and go build ./cmd/gh-actions-lock passed.
  • The regression test failed twice on clean main and passed twice with this change.
  • The full Go suite did not finish locally on Windows: TestCheckCommand_JSONGolden timed out on both clean main and this branch while writing its JSON output. The repository declares Go 1.25.8; local Go is 1.27.0.

@jay23606
jay23606 requested a review from a team as a code owner October 12, 2026 07:04
Copilot AI balanced review requested due to automatic review settings October 12, 2026 07:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Repository-transfer fix mode cannot rewrite normalized reusable workflow references.

1 open finding
What changed in this PR

Adds lock coverage for remote job-level reusable workflow calls.

Changes:

  • Normalizes reusable workflow calls to repository/ref dependencies.
  • Adds pipeline parsing regression coverage.
File Description
internal/​workflowfile/​workflowfile.go Parses remote reusable workflow references.
internal/​pipeline/​parse_test.go Tests normalized reusable workflow extraction.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread internal/workflowfile/workflowfile.go
@jay23606
jay23606 force-pushed the codex/issue-129-reusable-workflow-lock-refs branch from 74b9b1a to ba2ba8f Compare October 16, 2026 20:14
nodeselector added a commit that referenced this pull request Oct 20, 2026
Harden the locally integrated community #180 implementation: require immutable commit responses, preserve snapshot origin/ref across redirects, reject truncated inventories and target ambiguity, inspect discovered reusable callees, and prove read-only failure behavior.

Address #179 using the reusable-workflow parsing distinction highlighted by jay23606 in #161, without claiming caller lockfile enforcement the runner does not implement. Mutable job calls fail with direct full-SHA guidance; SHA calls expose the unverified callee graph. Preserve job refs during action narrowing.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
nodeselector added a commit that referenced this pull request Oct 20, 2026
Harden the locally integrated community #180 implementation: require immutable commit responses, preserve snapshot origin/ref across redirects, reject truncated inventories and target ambiguity, inspect discovered reusable callees, and prove read-only failure behavior.

Address #179 using the reusable-workflow parsing distinction highlighted by jay23606 in #161, without claiming caller lockfile enforcement the runner does not implement. Mutable job calls fail with direct full-SHA guidance; SHA calls expose the unverified callee graph. Preserve job refs during action narrowing.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@jay23606
jay23606 force-pushed the codex/issue-129-reusable-workflow-lock-refs branch from ba2ba8f to edd16ec Compare October 20, 2026 03:08
nodeselector added a commit that referenced this pull request Oct 20, 2026
Harden the locally integrated community #180 implementation: require immutable commit responses, preserve snapshot origin/ref across redirects, reject truncated inventories and target ambiguity, inspect discovered reusable callees, and prove read-only failure behavior.

Address #179 using the reusable-workflow parsing distinction highlighted by jay23606 in #161, without claiming caller lockfile enforcement the runner does not implement. Mutable job calls fail with direct full-SHA guidance; SHA calls expose the unverified callee graph. Preserve job refs during action narrowing.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
nodeselector added a commit that referenced this pull request Oct 20, 2026
Harden the locally integrated community #180 implementation: require immutable commit responses, preserve snapshot origin/ref across redirects, reject truncated inventories and target ambiguity, inspect discovered reusable callees, and prove read-only failure behavior.

Address #179 using the reusable-workflow parsing distinction highlighted by jay23606 in #161, without claiming caller lockfile enforcement the runner does not implement. Mutable job calls fail with direct full-SHA guidance; SHA calls expose the unverified callee graph. Preserve job refs during action narrowing.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
nodeselector added a commit that referenced this pull request Oct 20, 2026
Harden the locally integrated community #180 implementation: require immutable commit responses, preserve snapshot origin/ref across redirects, reject truncated inventories and target ambiguity, inspect discovered reusable callees, and prove read-only failure behavior.

Address #179 using the reusable-workflow parsing distinction highlighted by jay23606 in #161, without claiming caller lockfile enforcement the runner does not implement. Mutable job calls fail with direct full-SHA guidance; SHA calls expose the unverified callee graph. Preserve job refs during action narrowing.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
nodeselector added a commit that referenced this pull request Oct 20, 2026
Harden the locally integrated community #180 implementation: require immutable commit responses, preserve snapshot origin/ref across redirects, reject truncated inventories and target ambiguity, inspect discovered reusable callees, and prove read-only failure behavior.

Address #179 using the reusable-workflow parsing distinction highlighted by jay23606 in #161, without claiming caller lockfile enforcement the runner does not implement. Mutable job calls fail with direct full-SHA guidance; SHA calls expose the unverified callee graph. Preserve job refs during action narrowing.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@jay23606
jay23606 force-pushed the codex/issue-129-reusable-workflow-lock-refs branch from edd16ec to adc6532 Compare October 20, 2026 15:11
Sign up for free to 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.

v0.1.6: job-level reusable-workflow uses: refs are invisible — missed desync, false stale, and fix mode prunes a correct entry

2 participants