Skip to content

fix: ensure all actions/github-script steps resolve to a single SHA#26444

Merged
pelikhan merged 11 commits intomainfrom
copilot/fix-gh-aw-compile-sha-pinning
Apr 15, 2026
Merged

fix: ensure all actions/github-script steps resolve to a single SHA#26444
pelikhan merged 11 commits intomainfrom
copilot/fix-gh-aw-compile-sha-pinning

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 15, 2026

When gh aw compile generates a lock workflow, actions/github-script@v9 could resolve to two different SHAs within the same file — one from the user's actions-lock.json cache (used by the MCP lockdown detection step via getActionPinWithData) and a different one from the embedded action_pins.json (used by every other step via getActionPin). This inconsistency surfaced whenever the embedded pins and the cache diverged across a version bump.

Changes

  • New pkg/actionpins package: all action pin types (ActionPin, ActionPinsData, ActionYAMLInput), loading/caching, and resolution logic have been moved to a dedicated pkg/actionpins package. A SHAResolver interface and PinContext struct replace the direct *WorkflowData dependency, keeping the new package free of any pkg/workflow imports.

  • pkg/workflow/action_pins.go is now a thin adapter: provides package-private wrappers used throughout pkg/workflow and retains applyActionPinToTypedStep / applyActionPinsToTypedSteps (which depend on WorkflowStep). WorkflowData.PinContext() bridges WorkflowData to actionpins.PinContext.

  • All action pin functions in pkg/workflow are package-private: getActionPin, getCachedActionPin, getActionPinWithData, getActionPinByRepo, applyActionPinToTypedStep, and applyActionPinsToTypedSteps are all unexported since they are only called within pkg/workflow. The pkg/actionpins package retains an exported public API for use by any package.

  • getCachedActionPin is the sole resolution API for latest-version pins: getActionPin is only used for non-github-script actions (checkout, upload-artifact, etc.) that don't require cache-first resolution. There are zero remaining uses of getActionPin("actions/github-script") anywhere in the codebase.

  • Replaced all getActionPin("actions/github-script") call sites in compilation code with cache-aware resolution across all files — including maintenance_workflow_yaml.go and side_repo_maintenance.go which now use a getCachedActionPinFromResolver(repo, resolver) helper that builds a PinContext from the ActionSHAResolver already available in those functions.

  • Propagated data *WorkflowData into helper functions that lacked it (generateInlineGitHubScriptStep, generatePlaceholderSubstitutionStep, generateLogParsing, generateMCPScriptsLogParsing, generateMCPGatewayLogParsing, generateTokenUsageSummary, generateResolveHostRepoStep) so each can call getCachedActionPin.

  • Makefile updated: sync-action-pins now writes actions-lock.json to pkg/actionpins/data/action_pins.json (the embedded data location for the new package).

Copilot AI and others added 3 commits April 15, 2026 14:23
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/77596465-a2e1-46e0-b6e6-3921e2047999

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…ctionPin

Adds a new GetCachedActionPin helper that checks the user's actions-lock.json
cache first (via WorkflowData.ActionResolver) before falling back to the
embedded action_pins.json. Updates all compilation code paths that generate
actions/github-script@<sha> steps to use this helper, ensuring they all
produce the same SHA within a single compiled lock workflow.

Previously, generateGitHubMCPLockdownDetectionStep used GetActionPinWithData
(cache-aware) while all other steps used GetActionPin (embedded pins only).
If the cache and embedded pins had different SHAs for the same v9 tag, the
compiled workflow would contain two different SHAs for actions/github-script
— causing security review noise and reproducibility concerns.

Fixes: gh-aw compile pins actions/github-script@v9 to two different SHAs

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/77596465-a2e1-46e0-b6e6-3921e2047999

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
@pelikhan pelikhan marked this pull request as ready for review April 15, 2026 14:49
Copilot AI review requested due to automatic review settings April 15, 2026 14:49
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot to minimize confusing, reduce the list of public function to access action pins so that only the cached version is used outside of the action pin package.

@github-actions github-actions bot mentioned this pull request Apr 15, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the workflow compiler to consistently pin actions/github-script@v9 using a cache-first lookup to avoid “split SHA” compilation output when embedded pins and actions-lock.json diverge.

Changes:

  • Added GetCachedActionPin(repo, data) that prefers cached action pins via WorkflowData.ActionResolver, falling back to embedded pins.
  • Threaded data *WorkflowData through multiple YAML-generation helpers and updated call sites to use GetCachedActionPin.
  • Recompiled locked workflow YAMLs to ensure a single consistent SHA is used for actions/github-script.
Show a summary per file
File Description
pkg/workflow/action_pins.go Adds cache-first action pin helper used to unify action SHAs across code paths.
pkg/workflow/compiler_github_actions_steps.go Updates helper function signatures to accept data and use cached pin resolution.
pkg/workflow/compiler_yaml_ai_execution.go Threads data into log parsing/token summary generators and uses cached pin resolution.
pkg/workflow/compiler_yaml.go Uses the updated placeholder substitution helper and cached pin resolution in YAML generation.
pkg/workflow/compiler_yaml_main_job.go Updates helper invocations to pass data so pinned action refs are consistent.
pkg/workflow/* (various .go) Replaces GetActionPin("actions/github-script") with GetCachedActionPin(..., data) in several step generators.
pkg/workflow/*_test.go Updates tests to pass data or nil to updated helper signatures.
.github/workflows/*.lock.yml Regenerates lock workflows so actions/github-script is pinned consistently to a single SHA.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comments suppressed due to low confidence (1)

pkg/workflow/compiler_github_actions_steps.go:61

  • generatePlaceholderSubstitutionStep now accepts data *WorkflowData, but the doc comment doesn't mention this new argument. Please update the comment to describe why data is needed (cached action pin resolution) and clarify expected behavior when data is nil.
// generatePlaceholderSubstitutionStep generates a JavaScript-based step that performs
// safe placeholder substitution using the substitute_placeholders script.
// This replaces the multiple sed commands with a single JavaScript step.
func generatePlaceholderSubstitutionStep(yaml *strings.Builder, expressionMappings []*ExpressionMapping, indent string, data *WorkflowData) {
	if len(expressionMappings) == 0 {
  • Files reviewed: 44/44 changed files
  • Comments generated: 1

Comment on lines 38 to 42
// - condition: Optional if condition (e.g., "always()"). Empty string means no condition.
//
// Returns a string containing the complete YAML for the github-script step.
func generateInlineGitHubScriptStep(stepName, script, condition string) string {
func generateInlineGitHubScriptStep(stepName, script, condition string, data *WorkflowData) string {
compilerGitHubActionsStepsLog.Printf("Generating inline GitHub script step: name=%q, condition=%q", stepName, condition)
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

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

The function signature now includes a data *WorkflowData parameter, but the doc comment still lists only stepName, script, and condition. Please update the comment to document the new parameter and how it affects action pinning (via GetCachedActionPin).

This issue also appears on line 57 of the same file.

Copilot uses AI. Check for mistakes.
Copilot AI changed the title [WIP] Fix gh aw compile v0.68.1 to pin actions/github-script@v9 with correct SHAs fix: ensure all actions/github-script steps resolve to a single SHA Apr 15, 2026
Copilot AI requested a review from pelikhan April 15, 2026 14:55
…n as public API

Per code review: reduce public API surface for action pin access so that only
GetCachedActionPin is visible to callers outside pkg/workflow. Renames
GetActionPin → getActionPin (unexported), keeping GetCachedActionPin,
GetActionPinWithData, and GetActionPinByRepo as the public interface.

All internal callers (maintenance_workflow.go, compiler_activation_job.go,
checkout_step_generator.go, cache.go, and all other compilation files) now use
getActionPin directly since they are in the same package, which is equivalent
behavior. Test files in package workflow can still call getActionPin directly.

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/94dcd50a-bf45-41be-8144-06206dc70d3d

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

@copilot to minimize confusing, reduce the list of public function to access action pins so that only the cached version is used outside of the action pin package.

Done in 81d98c4. GetActionPin has been renamed to getActionPin (unexported), so GetCachedActionPin is now the only public API for resolving action pins by latest version. GetActionPinWithData and GetActionPinByRepo remain public as they serve distinct use cases (version-specific cache lookup and metadata access respectively).

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot move action pins manager and code into own Go package

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

@copilot move action pins manager and code into own Go package

Done — commit b38420c creates the new pkg/actionpins package containing all the action pin types, loading/caching, and resolution logic. A PinContext struct replaces the *WorkflowData dependency in GetActionPinWithData and GetCachedActionPin, keeping the new package free of any pkg/workflow imports. pkg/workflow/action_pins.go is now a thin adapter that provides package-level wrappers and the WorkflowStep-dependent ApplyActionPinToTypedStep functions. WorkflowData.PinContext() bridges the two packages. (Note: the push is currently blocked by a credentials issue in the sandbox — the commit is ready locally.)

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot keep working

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main and recompile

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

@copilot keep working

Done — commit d43ac63 is now pushed. The new pkg/actionpins package contains all types (ActionPin, ActionPinsData, ActionYAMLInput, SHAResolver, PinContext), loading/caching, and resolution logic. pkg/workflow/action_pins.go is now a thin adapter, and WorkflowData.PinContext() bridges the two packages without import cycles.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw --local 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git eFSy5PFyu .cfg 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha &#34;prettier&#34; --write &#39;scripts/**/*.js&#39; --ignore-path .prettierignore --log-level=e!../../../pkg/wogit (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha ules/.bin/sh git /opt/hostedtoolcache/node/24.14.1/x64/bin/node --show-toplevel ache/go/1.25.8/xrev-parse /usr/bin/git node js/f�� 64/pkg/tool/linu--show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha *.json&#39; &#39;!../../../pkg/workflow/js/**/*.json&#39; --- /tmp/go-build4201134912/b021/vet.cfg /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git ache/node/24.14.1/x64/bin/node pload-artifact/ggit 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha ath ../../../.prettierignore --global x_amd64/vet http.https://gitsh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git ../pkg/workflow/git 1134912/b058/vetrev-parse .cfg git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet otOrdering1035329241/001/go/1.25.0/x64/bin/go --noprofile (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git h ../../../.pretgit ify@v1.11.1/asseinit 64/pkg/tool/linux_amd64/vet git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git get .cfg 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel tail /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha 071621/b370/_pkg_.a (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha --show-toplevel (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git --local core.hooksPath 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git ../pkg/workflow/git 1134912/b029/vetrev-parse .cfg git (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git /opt/hostedtoolcache/node/24.14.1/x64/bin/node --show-toplevel ache/go/1.25.8/xrev-parse /usr/bin/git node js/f�� de_modules/.bin/--show-toplevel git /opt/hostedtoolcache/node/24.14.1/x64/bin/node --show-toplevel ache/go/1.25.8/xrev-parse /usr/bin/git node (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /opt/hostedtoolcache/node/24.14.1/x64/bin/node --show-toplevel ache/go/1.25.8/xrev-parse /usr/bin/git node js/f�� 1/x64/bin/node git /opt/hostedtoolcache/node/24.14.1/x64/bin/node --show-toplevel ache/go/1.25.8/xrev-parse /usr/bin/git node (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.pr**/*.json 1134912/b212/vet.cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel git 1/x64/bin/node --show-toplevel x_amd64/vet /usr/bin/git infocmp arne�� xterm-color git 1/x64/bin/node --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha w/js/**/*.json&#39; --ignore-path --local 64/pkg/tool/linux_amd64/vet committer.name (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha get --local sh pull.rebase (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha get .cfg ode_modules/.bin/sh copilot.originalgit (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha 071621/b185/workflow.test (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha 8067884/b001/workflow.test git 8067884/b001/importcfg.link --show-toplevel ache/go/1.25.8/xrev-parse /usr/bin/git qufqkvYXMGJ_7/_GT4wo_c1I5BaUaurYtH/OmuByDZjfbNOFxvFGJx5/O7S5vLLqufqkvYXMGJ_7 js/f�� ry=1 git che/go-build/70/70626fefe4eecfdf339ea838a3b6e5188ab23c4024c137520e1d13c4ab5f8f0f-d nPathSetup_Goroogit ache/go/1.25.8/xrev-parse /usr/bin/git node (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha Ve-KjBb4z 1134912/b234/vet.cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel git 1/x64/bin/node --show-toplevel x_amd64/vet /usr/bin/git git arne�� --show-toplevel git 1/x64/bin/bash --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha se 1134912/b228/vet.cfg 64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git 1/x64/bin/node --show-toplevel x_amd64/vet /usr/bin/git git arne�� --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git git rev-�� 856/001/go/1.25.0/x64&#34;; export PATH=&#34;$(find &#34;/tmp/TestGetNpmBinPathSetup_GorootOrdering280118285git git /usr/bin/git --show-toplevel bash /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha ignore-path ../../../.prettierignore (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git rite &#39;**/*.cjs&#39; node /tmp/go-build420js/fuzz_mentions_harness.cjs ache/node/24.14.1/x64/bin/sh git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /usr/bin/git te &#39;scripts/**/*node -buildtags k/gh-aw/node_modules/.bin/node git (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha ignore-path ../../../.prettierignore (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel nly /usr/bin/git rite &#39;**/*.cjs&#39; node /tmp/go-build420js/fuzz_mentions_harness.cjs /opt/hostedtoolcache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet e/git te &#39;scripts/**/*node -buildtags e_modules/.bin/node e/git (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

@copilot merge main and recompile

Done — commit 1452c7173 merges main and recompiles all 191 workflow lock files. Merge conflicts in Go files were resolved by taking main's refactored maintenance split (new maintenance_conditions.go, maintenance_cron.go, maintenance_workflow_yaml.go, side_repo_maintenance.go) while keeping getActionPin (unexported) throughout.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw -pack /home/REDACTED/work/gh-aw/gh-aw/cmd/gh-aw/main.go (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha 0 -j $name) { hasDiscussionsEnabled } } (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha .egg (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/-
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main and recompile

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

@copilot merge main and recompile

Done — commit 23ff8a9 merges main and recompiles all 191 workflow lock files. Conflicts in compiler_activation_job.go, maintenance_workflow_yaml.go, and side_repo_maintenance.go were resolved by keeping getActionPin (unexported) throughout.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw ambFGhV/2Eus6B7U-C (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw _value&#34;].&#34;\n&#34;; (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha -delete (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/-
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot review all uses of GetActionPin and GetCacheActionPin to ensure only the publicly exported functions are used outside the action-pin package.

…nce workflows

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/4ee89652-08af-43b7-a468-655498473b08

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

@copilot review all uses of GetActionPin and GetCacheActionPin to ensure only the publicly exported functions are used outside the action-pin package.

Done in 4eb224a. The review found that maintenance_workflow_yaml.go (14 sites) and side_repo_maintenance.go (9 sites) were still calling getActionPin("actions/github-script") — bypassing the cache. I added a getCachedActionPinFromResolver(repo, resolver) helper to pkg/workflow/action_pins.go that builds a PinContext from the ActionSHAResolver parameter those functions already receive, then replaced all those call sites with getCachedActionPinFromResolver("actions/github-script", resolver). There are now zero remaining uses of getActionPin("actions/github-script") anywhere in the codebase.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw t.go go integration_test-f test�� on_test.go _test.go r: $owner, name:-f (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw ts_core.go ts_env.go ts_env_copilot_tghcr.io/github/serena-mcp-server:latest 1/x6�� ts_handlers.go ts_job.go ts_job_test.go ts_pr_expires_tegit ts_steps.go ts_steps_test.go/home/REDACTED/work/gh-aw/gh-aw/.github/workflows ts_test.go (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name ithub/workflows (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/infocmp k/gh-aw/gh-aw/.ggit cfg 64/pkg/tool/linu--show-toplevel infocmp -1 xterm-color 64/pkg/tool/linuorigin /usr/bin/git 3307012474/.githgit config 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel bash /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha runs/20260415-180844-16389/test-1318395480 sh /usr/bin/git s/test.md (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel ache/go/1.25.8/xrev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel ache/go/1.25.8/xrev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha se 481918/b192/vet.cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet ../pkg/workflow/gh --local r: $owner, name:download ache/go/1.25.8/x4 -C 0844-16389/test-test-logs/run-4 config ash remote.origin.urgit credential.helperev-parse 86_64/node /opt/hostedtoolcache/go/1.25.8/xTest User (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel ache/go/1.25.8/x64/pkg/tool/linu--jq /usr/bin/git se 481918/b085/vet.rev-parse 64/pkg/tool/linu--show-toplevel git rev-�� it/ref/tags/v4 64/pkg/tool/linux_amd64/link /usr/bin/git ger.test 481918/b167/vet.rev-parse ortcfg.link git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel 0sgM1d_TR1DWb/Kf1TrQ_zyaDDimeco67z/4P7r8Nx30lqcg9B8vwjI/_jU1qxM0remote.origin.url /usr/bin/git ry=1 l 4482744/b431/_pk--show-toplevel git rev-�� --show-toplevel /tmp/go-build1264482744/b408/constants.test /usr/bin/git -test.paniconexigit -test.v=true /usr/bin/gh git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel x_amd64/compile /usr/bin/git se 481918/b232/vet.commit ache/go/1.25.8/x-m git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linuremote.origin.url /usr/bin/git 481918/b001/_pkggit git ache/go/1.25.8/x--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel infocmp /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel /tmp/go-build126rev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha te &#39;../../../**/*.json&#39; &#39;!../../-f (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha ithub/workflows (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha npx prettier --write &#39;scripts/**/*.js&#39; --ignore-path .prettierignore --log-level=error 2&gt;&amp;1 (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git /home/REDACTED/worgit cfg x_amd64/link git conf�� --get remote.origin.url /usr/bin/gh k/gh-aw/gh-aw cfg x_amd64/vet gh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --git-dir -extld=gcc /usr/bin/git k/gh-aw/gh-aw/.ggit cfg 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linuremote.origin.url /opt/hostedtoolcache/node/24.14.1/x64/bin/node k/gh-aw/gh-aw/.ggit cfg 64/pkg/tool/linu--show-toplevel /opt/hostedtoolcache/node/24.14.1/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel les.test /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel bash /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha /tmp/go-build1264482744/b420/logger.test (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha HEAD gh /usr/bin/git list --json /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha ignore-path ../../../.prettierignore (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha ath ../../../.pr**/*.json (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha h ../../../.prettierignore (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha th .prettierigno-f --get ode_modules/.bin-f (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha th .prettierignore --log-level=error --get ps (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha image:v1.0.0 64/pkg/tool/linux_amd64/compile /usr/bin/git _.a rev-parse 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linuremote.origin.url /usr/bin/infocmp eFSy5PFyu config 64/pkg/tool/linu--show-toplevel infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha 315360/b001/workflow.test git 315360/b001/importcfg.link --show-toplevel eN5SiviPIOcAY/zMrev-parse /usr/bin/git g135Bi5DdE-Dl/PiZg4c6uScJ379apjFan/bBUmYg5anhVud2c1PIEY/fcsxxASg135Bi5DdE-Dl rev-�� ry=1 git 315360/b001/_pkg_.a --show-toplevel bash /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha --pack_header=2,3 -q 1/x64/bin/node te &#39;../../../**/git origin r.lock.yml ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile t-ha�� ithub/workflows/architecture-guardian.md iginal 4482744/b459=&gt; format:cjs b/gh-aw/scripts -docs-consolidat--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha /tmp/gh-aw/aw-master.patch /bin/sh /usr/bin/git [ -x /usr/lib/git 64/pkg/tool/linurev-parse /usr/bin/git git rev-�� --show-toplevel git 1/x64/bin/bash --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha r git 1/x64/bin/node te &#39;../../../**/git origin s.lock.yml ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet t-ha�� ithub/workflows/archie.md config ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet remote.origin.urgit (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha 64/pkg/tool/linu--show-toplevel /usr/lib/git-core/git /usr/bin/git origin REDACTED /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name show 64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 config ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet remote.origin.urgit r it ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows rev-parse ck --get-regexp --local 64/bin/git ache/go/1.25.8/x64/pkg/tool/linuremote (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name config de/node/bin/bash l (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 x_amd64/cgo cfg (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name show cfg (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 --jq ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name config kflow.test remote.origin.urgit ame DiscussionsEnabl--show-toplevel kflow.test 9548�� 2519581805 481918/b058/vet.cfg cfg get --local r: $owner, name:/home/REDACTED/work/gh-aw/gh-aw/.github/workflows/agent-persona-explorer.md ache/go/1.25.8/x64/pkg/tool/linu-tests (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 show ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name -f 64/pkg/tool/linux_amd64/vet -f owner=github -f 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 -f 64/bin/go l owner=github -f ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -C /home/REDACTED/work/gh-aw/gh-aw show cfg th .prettierignogit --local de/node/bin/git ache/go/1.25.8/x64/pkg/tool/linu-importcfg (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 -f ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet l owner=github -f ache/go/1.25.8/xTest User -C /home/REDACTED/work/gh-aw/gh-aw/.github/workflows config cfg remote.origin.urgit --local 86_64/git ache/go/1.25.8/x64/pkg/tool/linurev-parse (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name rev-parse 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 om/stretchr/testify@v1.11.1/require/forward_requirements.go 64/pkg/tool/linux_amd64/cgo (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path 292513280/001&#39; 292513280/001&#39; -importcfg /tmp/go-build1264482744/b413/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/fileutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/tar.go -c ithub/workflows (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 --log-level=erroadd 64/bin/git x_amd64/vet -c k/gh-aw/gh-aw/.g-c=4 (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git g_.a 481918/b086/vet.rev-parse ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linufeature-branch /usr/bin/git ility-kit.md -f ache/go/1.25.8/x/tmp/gh-aw/aw-feature-branch.patch git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel infocmp /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha se 481918/b029/vet.cfg 64/pkg/tool/linux_amd64/compile on&#39; --ignore-patgit --global k/_temp/uv-pytho--show-toplevel 64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel infocmp /usr/bin/git sistency_GoAndJagit /bin/sh /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel sh /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha ithub/workflows (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha k/gh-aw/gh-aw (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha it/ref/tags/v7 (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha ithub/workflows (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/-
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha js/**/*.json&#39; --ignore-path ../../../.prettierignore (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha 1161486498 481918/b031/vet.cfg x_amd64/compile --get-regexp --global DiscussionsEnabl--show-toplevel x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel infocmp /usr/bin/git ons-test21075901git -goversion /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git /tmp/compile-allgit config /usr/bin/git git (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion l (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo /home/REDACTED/.do-nilfunc ./../.prettierigbash (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo /usr/sbin/sh ./../.prettierigbash (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build1264482744/b399/cli.test /tmp/go-build1264482744/b399/cli.test -test.testlogfile=/tmp/go-build1264482744/b399/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name go1.25.8 (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot make sure function capitalization is consistent with public usage. Review usage of get action functions outside the package

…usage scope)

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/393fdc45-72fe-4108-82b0-0124de2109ee

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

@copilot make sure function capitalization is consistent with public usage. Review usage of get action functions outside the package

Done in d43d83a. All action pin adapter functions in pkg/workflow that were only used within the package have been made unexported: GetCachedActionPingetCachedActionPin, GetActionPinWithDatagetActionPinWithData, GetActionPinByRepogetActionPinByRepo, ApplyActionPinToTypedStepapplyActionPinToTypedStep, ApplyActionPinsToTypedStepsapplyActionPinsToTypedSteps. The underlying pkg/actionpins public API remains exported for use by any future callers. All 50+ call sites (including test files) were updated.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw sToTypedSteps/g 86_64/sed git rev-�� --show-toplevel sed /usr/bin/git -e sToTypedSteps/g test.go git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw ionPin\b/getCachjs/fuzz_sanitize_label_harness.cjs k/_temp/ghcca-node/node/bin/sed git rev-�� --show-toplevel sed (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw ionPin\b/getCachjs/fuzz_sanitize_label_harness.cjs cal/bin/sed git rev-�� --show-toplevel sed /usr/bin/git -e ionPin\b/getCachcat-file ifest_test.go git (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha -e s/\bGetCachedActionPin\b/getCachedActionPin/g /snap/bin/sed s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed -i -e s/\bGetCachedActionPin\b/getCachedActionPin/g /usr/bin/git s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha -e edActionPin/g n_balancer_fuzz_test.go tionPinWithData/git -e onPinByRepo/g sed appl�� -e b/applyActionPinsToTypedSteps/g go WithData\b/getAcgit -e ByRepo\b/getActi--show-toplevel sed (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -e sToTypedSteps/g ion_yaml_test.gos/\bGetActionPinByRepo\b/getActionPinByRepo/g g -e onPinByRepo/g sed Type�� -e sToTypedSteps/g ion_integration_s/\bGetActionPinByRepo\b/getActionPinByRepo/g g -e onPinByRepo/g sed (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel s/\bApplyActionPinsToTypedSteps\b/applyActionPinsToTypedSteps/g /usr/bin/git -e sToTypedSteps/g _test.go git rev-�� --show-toplevel sed /usr/bin/git -e sToTypedSteps/g 86_64/sed git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel sed /usr/bin/git -e sToTypedSteps/g go git rev-�� --show-toplevel sed /usr/bin/git -e sToTypedSteps/g (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel sed /usr/bin/git -e sToTypedSteps/g o git rev-�� --show-toplevel sed /usr/bin/git -e sToTypedSteps/g p_integration_te--show-toplevel git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha 9626134/b001/_pkg_.a insToTypedSteps\b/applyActionPinsToTypedSteps/g 9626134/b001=&gt; s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed -i ef8P/nnmENiinKfFKPLrzef8P s/\bGetCachedActionPin\b/getCachedActionPin/g /opt/pipx_bin/sed s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha -e insToTypedSteps\b/applyActionPinsToTypedSteps/g ret_verification_output_test.go s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed -i -e s/\bGetCachedActionPin\b/getCachedActionPin/g /opt/pipx_bin/sed s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha -e insToTypedSteps\b/applyActionPinsToTypedSteps/g ret_verification_output_test.go s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed -i -e s/\bGetCachedActionPin\b/getCachedActionPin/g /usr/local/.ghcup/bin/sed s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha -e insToTypedSteps\b/applyActionPinsToTypedSteps/g ret_verification_output_test.go s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed -i -e s/\bGetCachedActionPin\b/getCachedActionPin/g /snap/bin/sed s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha -e insToTypedSteps\b/applyActionPinsToTypedSteps/g ret_verification_output_test.go s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed -i -e s/\bGetCachedActionPin\b/getCachedActionPin/g /opt/hostedtoolcache/node/24.14.1/x64/bin/sed s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha -e sToTypedSteps/g de/node/bin/sed tionPinWithData/git -e onPinByRepo/g sed appl�� -e edActionPin/g bin/sed tionPinWithData/git -e onPinByRepo/g sed (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha -e sToTypedSteps/g 64/bin/sed g -e onPinByRepo/g sed Type�� -e sToTypedSteps/g de/node/bin/sed g -e onPinByRepo/g sed (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha -e sToTypedSteps/g ndor/bin/sed g -e onPinByRepo/g sed Type�� -e sToTypedSteps/g test.go g -e onPinByRepo/g sed (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha -e sToTypedSteps/g l_test.go g -e onPinByRepo/g sed Type�� -e sToTypedSteps/g 1/x64/bin/sed g -e onPinByRepo/g sed (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha 40\} ster.patch /usr/bin/git -e insToTypedSteps\--norc piler_action_mod--noprofile git rev-�� --show-toplevel sed /usr/bin/git -e s/\bGetCachedAct-1 /opt/hostedtoolcxterm-color git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha --show-toplevel sed /usr/bin/git -e insToTypedSteps\--norc piler_action_mod--noprofile git rev-�� --show-toplevel sed /usr/bin/git -e s/\bGetCachedAct-1 /usr/local/.ghcuxterm-color git (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel s/\bApplyActionPapi /usr/bin/git git rev-�� --show-toplevel git 1/x64/bin/node --show-toplevel sed /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel s/\bApplyActionP-C /usr/bin/git git rev-�� --show-toplevel git 1/x64/bin/node --show-toplevel sed /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha t0 m0s _explicit_github_tool_test.go s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed -i -e s/\bGetCachedActionPin\b/getCachedActionPin/g /home/REDACTED/.dotnet/tools/sed s/\bGetActionPingit -e s/\bGetActionPin--show-toplevel sed (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha -e edActionPin/g 1/x64/bin/sed tionPinWithData/git -e onPinByRepo/g sed appl�� -e edActionPin/g ation_test.go tionPinWithData/git -e onPinByRepo/g sed (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha -e edActionPin/g .go tionPinWithData/git -e onPinByRepo/g sed appl�� -e edActionPin/g 1/x64/bin/bash tionPinWithData/git -e onPinByRepo/g sed (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel sed /usr/bin/git -e sToTypedSteps/g 86_64/sed git rev-�� --show-toplevel sed /usr/bin/git -e sToTypedSteps/g _test.go git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha -e sToTypedSteps/g _test.go g -e onPinByRepo/g sed Type�� -e sToTypedSteps/g test.go g -e onPinByRepo/g sed (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/-
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha --show-toplevel sed /usr/bin/git -e s/\bGetCachedAct-C /usr/sbin/sed git rev-�� --show-toplevel sed /usr/bin/gh -e s/\bGetCachedAct-C /usr/bin/git gh (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha -e sToTypedSteps/g _test.go g -e onPinByRepo/g sed Type�� -e sToTypedSteps/g test.go g -e onPinByRepo/g sed (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main and recompile

…pile-sha-pinning

# Conflicts:
#	pkg/workflow/compiler_activation_job.go
#	pkg/workflow/maintenance_workflow_yaml.go
#	pkg/workflow/side_repo_maintenance.go
#	pkg/workflow/workflow_builder.go

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 15, 2026

@copilot merge main and recompile

Done in 04eb770. Merged main and recompiled all 191 workflow lock files. Conflicts in compiler_activation_job.go, maintenance_workflow_yaml.go, side_repo_maintenance.go, and workflow_builder.go were resolved by keeping our lowercase (package-private) function names throughout.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw -pack /home/REDACTED/work/gh-aw/gh-aw/cmd/gh-aw/main.go (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha tions-lock.json pkg/actionpins/data/action_pins.json; \ echo &#34;��� Action pins synced successfulgit (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/-
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan pelikhan merged commit c8758ab into main Apr 15, 2026
@pelikhan pelikhan deleted the copilot/fix-gh-aw-compile-sha-pinning branch April 15, 2026 18:52
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.

gh aw compile v0.68.1 pins actions/github-script@v9 to two different SHAs

3 participants