Skip to content

Make setup-gh-aw install idempotent when gh-aw is already available#33240

Merged
pelikhan merged 16 commits into
mainfrom
copilot/fix-setup-gh-aw-idempotency
May 19, 2026
Merged

Make setup-gh-aw install idempotent when gh-aw is already available#33240
pelikhan merged 16 commits into
mainfrom
copilot/fix-setup-gh-aw-idempotency

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 19, 2026

setup-gh-aw could fail on runners where gh-aw was already present because it always ran gh extension install github/gh-aw, which exits non-zero on command conflict. This caused agent job failures before MCP bootstrap could find the binary.

  • Install behavior: command-first idempotency

    • Updated the generated Install gh-aw extension step to gate install on gh aw --version instead of assuming extension state.
    • If gh aw is already available, setup now reuses existing install and only performs a best-effort extension upgrade when gh-aw is actually extension-managed.
    • If gh aw is not available, setup still installs via gh extension install github/gh-aw.
  • Generator and compiled workflow alignment

    • Updated install-step generation in pkg/workflow/mcp_setup_generator.go.
    • Updated the affected compiled workflow output (.github/workflows/static-analysis-report.lock.yml) to apply the new behavior immediately.
  • Regression coverage

    • Updated install-step assertions in pkg/workflow/agentic_workflow_test.go.
    • Updated the golden fixture for compiled MCP setup output (pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden).
if gh aw --version >/dev/null 2>&1; then
  echo "gh-aw command already available, using existing install"
  if gh extension list | grep -qE '(^|[[:space:]]|/)gh-aw($|[[:space:]])'; then
    gh extension upgrade gh-aw || true
  fi
else
  echo "Installing gh-aw extension..."
  gh extension install github/gh-aw
fi

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 gh repo view --json owner,name --jq .owner.login + "/" + .name x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh repo view --json owner,name --jq .owner.login + "/" + .name At,event,headBranch,headSha,displayTitle GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xorigin env (http block)
    • Triggering command: /usr/bin/gh gh pr list --repo github/gh-aw --state all --author app/github-actions --search created:2026-05-11T23:58:00Z..2026-05-12T00:05:00Z --limit 1 --json number --jq .[0].number GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-tests (http block)
  • https://api.github.com/orgs/owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/owner/actions/secrets --jq .secrets[].name -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/owner/actions/secrets --jq .secrets[].name --write ../../../**/*.jsGOMOD 64/bin/go --ignore-path ../../../.prettienv ules/.bin/node node /hom�� --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.prettixterm-color 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 h3062315540/001' h3062315540/001' x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name --write ../../../**/*.jsGOMOD 64/bin/go --ignore-path ../../../.prettienv sv npx pret�� --check scripts/**/*.js 64/bin/go .prettierignore gh (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, .object.type] | @tsv runs/20260519-085530-32024/test-1670629456/.github/workflows -test.v=true /opt/hostedtoolcache/go/1.25.8/x64/bin/go l -test.run=^Test -test.short=true/repos/actions/github-script/git/ref/tags/v9 go list�� runs/20260519-085530-32024/test-953603715/.github/workflows {{context.GOARCH}} {{context.Compiler}} o.git unsafe GO111MODULE 64/bin/go git-upload-pack (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json l t GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.8/x--jq (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, .object.type] | @tsv ai-moderator.md /tmp/go-build3498919344/b073/vet.cfg 1/x64/bin/node GOSUMDB GOWORK 64/bin/go ache/go/1.25.8/x64/pkg/tool/linutest@example.com t-ha�� vaScript2141853251/001/test-empty-frontmatter.md-errorsas /tmp/go-build3498919344/b243/vet.cfg 64/pkg/tool/linux_amd64/vet s GO111MODULE 64/bin/go 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv SameOutput134270remote.origin.url GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env Onlymin-integrity_with_repos_array_c3262214209/0remote.upstream.url GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv -json GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xconfig -uns�� 5530-32024/test-remote.upstream.url /tmp/go-build3498919344/b426/vet.cfg ache/go/1.25.8/x64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcache/go/1.25.8/xupstream (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv runs/20260519-085530-32024/test-2476955587/custom/workflows remote ache/node/24.14.1/x64/bin/node url GO111MODULE 64/bin/go infocmp t-34�� sistency_WithImports2355466954/001/main.md go /usr/bin/git -json GO111MODULE x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv /tmp/TestHashStability_SameInputSameOutput261344011/001/stability-test.md x_amd64/vet /usr/bin/git -json GO111MODULE x_amd64/vet git -C /tmp/shared-actions-test2021755236 remote (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv se 8919344/b115/vet.cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOSUMDB GOWORK 64/bin/go ache/go/1.25.8/x--all GoFi�� CommaSeparatedCoid,name,path,state -buildtags 64/pkg/tool/linuowner/repo -errorsas -ifaceassert -nilfunc 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv se stmain.go ache/go/1.25.8/x64/pkg/tool/linu-nolocalimports GOSUMDB GOWORK 64/bin/go ache/go/1.25.8/xowner/host-repo -uns�� ExpressionCompiledOutput2687192221/001 /tmp/go-build3498919344/b117/vet.cfg e/git /tmp/go-build251infocmp -trimpath 64/bin/go e/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -unreachable=false /tmp/go-build3498919344/b028/vet.cfg 8919344/b282/vet.cfg GOSUMDB GOWORK 64/bin/go /opt/hostedtoolctest-owner/test-repo-32024 -ato�� runs/20260519-085530-32024/test-source-field-var-s -buildtags 8919344/b405/vet.cfg l -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linu--jq (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, .object.type] | @tsv 8919344/b564/syncutil.test -q 8919344/b564/importcfg.link -json GO111MODULE x_amd64/vet __35F2t1F7AEM/wVIjl6JE2QkluJttAG--jq -1 ons-test2021755236 x_amd64/vet 8919344/b564/_pkg_.a url GO111MODULE x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv ons-test2021755236 config /usr/bin/git l GO111MODULE x_amd64/vet git conf�� --get remote.origin.url om/owner/repo.git -json GO111MODULE x_amd64/vet node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv -bool l /usr/bin/git -errorsas -ifaceassert -nilfunc git comm�� -m initial commit /usr/bin/infocmp Wd-Z/FZzFZbporX-git !../../../pkg/woconfig 64/bin/go infocmp (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, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv -c=4 -nolocalimports -importcfg /tmp/go-build3498919344/b488/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/envutil/envutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/envutil/envutil_test.go env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv -c=4 -nolocalimports -importcfg /tmp/go-build3498919344/b498/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/gitutil/gitutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/gitutil/gitutil_test.go env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9.0.0
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv .github/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (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, .object.type] | @tsv -bool -buildtags 1/x64/bin/node -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.8/xconfig t-ha�� ithub/workflows/agent-persona-exremote.upstream.url -trimpath (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv ithub-script/git/ref/tags/v9 GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-95�� sistency_GoAndJavaScript2930644384/001/test-inlined-imports-enabled-with-env-template-expressiongh GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv 5530-32024/test-2257927619/.github/workflows 8919344/b456/vet.cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -errorsas -ifaceassert -nilfunc ache/go/1.25.8/x-test.v=true -ato�� -bool -buildtags /opt/hostedtoolc-test.short=true -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv /v3.0.0 -buildtags 1/x64/bin/node -errorsas -ifaceassert -nilfunc ortcfg t-ha�� ithub/workflows/agent-performance-analyzer.md g/stats/spec_test.go ache/node/24.14.1/x64/bin/node -s -w -buildmode=exe /opt/hostedtoolc--jq (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv ithub-script/git/ref/tags/v9.0.0 -q bject.type] | @tsv ub/workflows GO111MODULE 64/bin/go infocmp -1 xterm-color go .0/x64/bin/go -}" =~ ^tcp:// ]ls GO111MODULE x_amd64/vet git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv se 8919344/b397/vet.cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOSUMDB GOWORK 64/bin/go ache/go/1.25.8/xowner/repo -ato�� CommaSeparatedCompiledOutput2741897142/001 -buildtags /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv se 8919344/b114/vet.cfg /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcowner/test-repo -uns�� ExpressionCompiledOutput2687192221/001 /tmp/go-build3498919344/b079/vet.cfg e/git /tmp/go-build251infocmp -trimpath 64/bin/go e/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv se 8919344/b425/vet.cfg .cfg GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcowner/test-repo -uns�� runs/20260519-085530-32024/test-source-field-var-p /tmp/go-build3498919344/b090/vet.cfg kflows/my-workflow.lock.yml /tmp/go-build251infocmp -trimpath 64/bin/go /opt/hostedtoolcache/go/1.25.8/xtest@example.com (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, .object.type] | @tsv se 8919344/b422/vet.cfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE .cfg GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE VAxgz1Q/B68ed2DfGWU1M5_ta0N- (http block)
  • https://api.github.com/repos/aws-actions/configure-aws-credentials/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv 8919344/b561/styles.test c89Dd_znmPyN 8919344/b561/importcfg.link -json GO111MODULE 64/bin/go IM_GwOapRcBNh/UQP2ARhfQO4T-rPmiE--jq api ry=1 l clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle hyphen2350818512grep hyphen2350818512-c x_amd64/vet ache/node/24.14./tmp/gh-aw/aw-master.patch (http block)
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv g/typeutil/convert.go g/typeutil/convert_test.go ache/go/1.25.8/x64/pkg/tool/linu-nolocalimports --thin --delta-base-off--version -q ache/go/1.25.8/x64/pkg/tool/linu--jq -C 8919344/b580/_pkg_.a remote 8919344/b580=> -json GO111MODULE x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv uts.version -importcfg /usr/bin/git -s -w -buildmode=exe git add . l clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle prettier --write 64/bin/go git (http block)
  • https://api.github.com/repos/azure/login/git/ref/tags/v2
    • Triggering command: /usr/bin/gh gh api /repos/azure/login/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv git-upload-pack '/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitcustom_branch2654853967/001' l /usr/bin/git -json GO111MODULE 64/bin/go git -C /tmp/gh-aw-test-runs/20260519-085530-32024/test-2774014426/.github/workflows l clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle remote.origin.ur/usr/lib/git-core/git 90 x_amd64/vet ache/node/24.14.--auto (http block)
    • Triggering command: /usr/bin/gh gh api /repos/azure/login/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv user.name url /usr/lib/git-core/git GOSUMDB GOWORK 64/bin/go /usr/lib/git-core/git main�� run --auto /usr/bin/gh --detach infocmp 64/bin/go gh (http block)
  • https://api.github.com/repos/docker/login-action/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/docker/login-action/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv sistency_GoAndJavaScript2141853251/001/test-inlined-imports-enabled-with-body-content.md k/gh-aw/gh-aw/pkg/repoutil/repoutil_test.go clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle -json GO111MODULE 64/bin/go /opt/hostedtoolcache/go/1.25.8/x--jq t-31�� sistency_InlinedImports679542884/001/noflag-a.md -trimpath /usr/bin/gh -p main -lang=go1.25 gh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/login-action/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv ts.result -buildtags /usr/lib/git-core/git -errorsas -ifaceassert -nilfunc /usr/lib/git-core/git rev-�� --objects --stdin clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --exclude-hiddengit 90 --quiet 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, .object.type] | @tsv -bool -buildtags r: $owner, name: $name) { hasDiscussionsEnabled } } =receive -ifaceassert -nilfunc (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go t-26�� sistency_GoAndJavaScript2930644384/001/test-inlined-imports-enabremote.upstream.url GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv -unreachable=false /tmp/go-build3498919344/b166/vet.cfg tartedAt,updatedAt,event,headBranch,headSha,displayTitle GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcache/go/1.25.8/xupstream -ato�� 224496072 -buildtags e/git-upload-pack -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/go/1.25.8/xremote.origin.url (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE tartedAt,updatedAt,event,headBranch,headSha,displayTitle GOINSECURE GOMOD GOMODCACHE go env 0437-51699/test-1170985921/.github/workflows GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuremote.origin.url (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, .object.type] | @tsv -bool -buildtags ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet H_PREFIX_ARGS="--docker-host-path-prefix /tmp/gh-aw" fi echo "$GH_AW_DOCKER_HOST_PATH_PREFIX_AR -ifaceassert -nilfunc ache/go/1.25.8/xconfig GoFi�� -bool -buildtags e/git -errorsas -ifaceassert -nilfunc e/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv sRemoteWithRealGitmaster_branch1014654139/001 sRemoteWithRealGitmaster_branch1014654139/002/work .cfg H_PREFIX_ARGS="--docker-host-path-prefix /tmp/gh-aw" fi echo "$GH_AW_DOCKER_HOST_PATH_PREFIX_AR GOMOD GOMODCACHE go env 0437-51699/test-2085221185/.github/workflows GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-05-12 GOMOD GOMODCACHE 64/pkg/tool/linutest@example.com env -json GO111MODULE 64/pkg/tool/linu-nolocalimports GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linurev-parse (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-04-19 GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env y-test.md LsRemoteWithRealGitbranch_with_hmain ionpins.test GOINSECURE GOMOD GOMODCACHE ionpins.test (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-02-18 GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (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 GO111MODULE .test GOINSECURE FK/6-5zQE4mTz8xF/tmp/test-expr-1225287659.js GOMODCACHE .test 4989�� y_only_defaults_repo772738177/00remote.origin.url 8919344/b002/vet.cfg .cfg GOINSECURE igFiles,SwigCXXFremote GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-test.v=true (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 8919344/b013/vet.cfg 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuorigin (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/pkg/tool/linu-nilfunc GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu-tests (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go eWit�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1234567890
    • Triggering command: /usr/bin/gh gh api repos/{owner}/{repo}/actions/runs/1234567890 --jq {databaseId: .id, number: .run_number, url: .html_url, status: .status, conclusion: .conclusion, workflowName: .name, workflowPath: .path, createdAt: .created_at, startedAt: .run_started_at, updatedAt: .updated_at, event: .event, headBranch: .head_branch, hyphen2350818512/001' hyphen2350818512/001' x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api repos/{owner}/{repo}/actions/runs/1234567890 --jq {databaseId: .id, number: .run_number, url: .html_url, status: .status, conclusion: .conclusion, workflowName: .name, workflowPath: .path, createdAt: .created_at, startedAt: .run_started_at, updatedAt: .updated_at, event: .event, headBranch: .head_branch, ays.md gh 64/bin/go ignore-path .././opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet --jq x86_64/bash node /hom�� --check scripts/**/*.js 64/bin/go -d Initial bject.type] | @t. go (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 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE SS/SnI6QuGF7Xsa9status (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/pkg/tool/linu-test.short=true GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link env report.md GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE bR/rmpj4pWMGMIA3reset GOMODCACHE 64/pkg/tool/linu.github/workflows/test.md (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 .cfg 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link env edOutput3229488604/001 GO111MODULE ortcfg.link GOINSECURE GOMOD GOMODCACHE Swdag_RvDB2FtdE3Xz/Bag7-PzsTAHuZ--jq (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GO111MODULE util.test GOINSECURE GOMOD GOMODCACHE util.test 4989�� y_with_explicit_@{u} GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xtest@example.com (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuremote.origin.url epOn�� mpiledOutput2741897142/001 GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 400/001/stabilit--detach GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 .cfg sole.test GOINSECURE GOMOD GOMODCACHE sole.test 4989�� y_only_defaults_repo772738177/001 8919344/b122/vet.cfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuorigin (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 400/001/stabilit.github/workflows/test.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GO111MODULE stants.test GOINSECURE GOMOD GOMODCACHE stants.test 4989�� y_with_explicit_.github/workflows/test.md GO111MODULE .cfg GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xTest User (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 .cfg 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuorigin (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 400/001/stability-test.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (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 GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link (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 GOMOD GOMODCACHE 64/pkg/tool/linustatus (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build3498919344/b475/cli.test /tmp/go-build3498919344/b475/cli.test -test.testlogfile=/tmp/go-build3498919344/b475/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /tmp/go-build3476720380/b475/cli.test /tmp/go-build3476720380/b475/cli.test -test.testlogfile=/tmp/go-build3476720380/b475/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true 'origin' %H %ct %D (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, .object.type] | @tsv 8919344/b573/tty.test go ache/node/24.14.1/x64/bin/node -json GO111MODULE x_amd64/vet YKpGvUQ8q8uVS/78hxdm0CBnKcsfK4zb--jq t-40�� k/gh-aw/gh-aw/.github/workflows/archie.md config 8919344/b573/_pkg_.a remote.upstream.infocmp GO111MODULE x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv ithub-script/git/ref/tags/v9 show bject.type] | @tsv GOSUMDB GOWORK 64/bin/go infocmp -1 xterm-color l /usr/bin/git --write ../../../**/*.js-1 64/bin/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, .object.type] | @tsv e_all)' || 'round-robin' GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env efaultBranchFromLsRemoteWithRealGitcustom_branch-buildmode=exe efaultBranchFromLsRemoteWithRealGitcustom_branch-buildid=d4ExNDzmYrLVKv41lBQP/dhNh8A8P9AP0ifMGiQ-1 ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x^remote\..*\.gh-resolved$ (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv 2085221185/.github/workflows GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv 947253/001 947253/002/work x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json .cfg x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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, .object.type] | @tsv -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json .cfg x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE ruhkCvB/d4ExNDzm/tmp/js-hash-test-1530628814/test-hash.js GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json herFiles,CFiles,CgoFiles,CXXFiles,MFiles,HFiles,FFiles,SFiles,SwigFiles,SwigCXXFiles,SysoFiles,T-test.testlogfile=/tmp/go-build3498919344/b558/testlog.txt x_amd64/vet GOINSECURE iles,SysoFiles,T-C GOMODCACHE x_amd64/vet (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, .object.type] | @tsv -c=4 -nolocalimports -importcfg /tmp/go-build3498919344/b554/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/stats/statvar.go /home/REDACTED/work/gh-aw/gh-aw/pkg/stats/spec_test.go env -json .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/issues/17
    • Triggering command: /usr/bin/gh gh api repos/github/gh-aw/issues/17 go env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/vet GOINSECURE estGoFiles,XTestGoFiles,CompiledGoFiles,Export,DepOnly,Imports,ImportMap,TestImports,XTestImpor GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api repos/github/gh-aw/issues/17 sh -c npx prettier --cGOINSECURE rk 64/bin/go ignore-path .././opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet --jq /usr/bin/git node /hom�� --check scripts/**/*.js 64/bin/go -d 0004745/b001/imp@/tmp/args1651677608 de go (http block)
  • https://api.github.com/repos/google-github-actions/auth/git/ref/tags/v2
    • Triggering command: /usr/bin/gh gh api /repos/google-github-actions/auth/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv 8919344/b558/_pkg_.a go clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle -json GO111MODULE 64/bin/go /usr/bin/git remo�� hCpC/e79TWLCtbxfnDpByhCpC (http block)
    • Triggering command: /usr/bin/gh gh api /repos/google-github-actions/auth/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv runs/20260519-090437-51699/test-2895561059 -buildtags /bin/sh l -ifaceassert -nilfunc /bin/sh -c git-receive-pack '/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmaster_branch1014654139/001'gh git-receive-pack '/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmaster_branch1014654139/001'api clusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle prettier --write 64/bin/go 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, .object.type] | @tsv 4087619389 8919344/b205/vet.cfg $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xremote.origin.url env -json o x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv 2085221185/.github/workflows GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuTest User env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuorigin env 2428424602 GO111MODULE .cfg GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xremote.origin.url (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE go env ace-editor.md GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuremote.origin.url (http block)
  • https://api.github.com/repos/org/repo/pulls/1
    • Triggering command: /usr/bin/gh gh api repos/org/repo/pulls/1 go env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api repos/org/repo/pulls/1 sh -c npx prettier --cGOINSECURE infocmp 64/bin/go ignore-path .././opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet /opt/hostedtoolc-atomic sv sh -c "prettier" --che-errorsas sed 64/bin/go tierignore git x_amd64/link go (http block)
  • https://api.github.com/repos/owner/repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/owner/repo/actions/secrets --jq .secrets[].name -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/owner/repo/actions/secrets --jq .secrets[].name --write (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 x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (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-remote-workflow --limit 30 --repo owner/repo 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state 64/bin/go GOINSECURE GOMOD GOMODCACHE qBliG4XS0I3E9h3rfM/XUL-mMatfwjXP-trimpath (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 -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --write ../../../**/*.jsGOMOD 64/bin/go --ignore-path ../../../.prettienv owsInstallStepPr-json node /hom�� --check **/*.cjs 64/bin/go **/*.json --ignore-path run-script/lib/nuser.email go (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch thub/workflows 8919344/b187/vet.cfg x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE tartedAt,updatedAt,event,headBranch,headSha,displayTitle GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/xsh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch 1757209538/.github/workflows GO111MODULE $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE x_amd64/vet GOINSECURE GOMOD GOMODCACHE x_amd64/vet (http block)

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


Changeset

  • Type: patch
  • Description: Make setup-gh-aw idempotent when gh-aw is already installed, reusing the existing command instead of failing on extension conflicts.

Generated by 📋 Changeset Generator for issue #33240 · ● 1.8M ·

Copilot AI changed the title [WIP] Fix setup-gh-aw extension install idempotency Make setup-gh-aw install idempotent when gh-aw is already available May 19, 2026
Comment thread pkg/workflow/mcp_setup_generator.go Outdated
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@copilot remove all special handling of hasghawimport and the field. This shared agentic workflow not exist anymore

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in f4f5989. Removed hasGhAwSharedImport and all import-based special handling so the install step is always generated for agentic-workflows.

Comment thread pkg/workflow/mcp_setup_generator.go Outdated
@@ -196,10 +196,13 @@ func generateAgenticWorkflowsInstallStep(yaml *strings.Builder, hasAgenticWorkfl
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@copilot use actions/setup-cli instead

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Addressed in f4f5989. Switched the generated install step to uses: github/gh-aw/actions/setup-cli@main with version: latest and github-token, then kept a dedicated binary-copy step for MCP server setup.

Copilot AI and others added 2 commits May 19, 2026 09:22
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan May 19, 2026 09:31
Copy link
Copy Markdown
Collaborator

@pelikhan pelikhan left a comment

Choose a reason for hiding this comment

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

@copilot use the cli version is in release mode (both action and cli versions), pinned version. In dev mode, build gh-aw

Copilot AI and others added 2 commits May 19, 2026 09:49
… in dev

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

Copilot AI commented May 19, 2026

@copilot use the cli version is in release mode (both action and cli versions), pinned version. In dev mode, build gh-aw

Addressed in f1a1c12 (plus follow-up 931cc11). MCP setup now builds/installs gh-aw from source in dev mode, and in non-dev modes uses setup-cli with pinned action reference and pinned CLI version derived from the release tag/action-tag.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan May 19, 2026 09:53
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot create a compiler helper component that handles the insertion of steps to build/install gh-aw/extension. This task is used by the MCP, or when detection that gh aw is used. There must be multiple copies of this logic around already. Refactor and deduplicate.

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

Copilot AI commented May 19, 2026

@copilot create a compiler helper component that handles the insertion of steps to build/install gh-aw/extension. This task is used by the MCP, or when detection that gh aw is used. There must be mult...

Implemented in 9271dd7. I extracted a shared compiler helper (pkg/workflow/gh_aw_setup_steps.go) that generates gh-aw build/install setup steps, and reused it from both MCP setup generation and runtime-detected gh-aw setup generation to deduplicate the logic.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan May 19, 2026 13:38
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 refactors how gh-aw is installed during MCP bootstrap and runtime setup generation to avoid failures when gh aw is already available, and updates generated workflow outputs/tests to match the new behavior.

Changes:

  • Introduces a shared generateGhAwSetupStep helper to centralize gh-aw setup step generation across runtime setup and MCP setup generation.
  • Updates MCP setup generation to emit a setup-cli-based install step (non-dev) and aligns unit tests/golden fixtures accordingly.
  • Regenerates multiple checked-in .lock.yml workflows to reflect the new gh-aw install step behavior (including the dev-mode “build from source” variant).
Show a summary per file
File Description
pkg/workflow/gh_aw_setup_steps.go Adds centralized helper for generating gh-aw setup steps (dev build-from-source vs action-based install).
pkg/workflow/runtime_step_generator.go Routes gh-aw runtime setup through the new helper and adds actionModeForRuntimeSetup.
pkg/workflow/mcp_setup_generator.go Switches agentic-workflows MCP bootstrap to use the new helper and emits a follow-up binary copy step.
pkg/workflow/agentic_workflow_test.go Updates assertions to match the new MCP install-step generation strategy.
pkg/workflow/runtime_gh_aw_test.go Updates dev-mode assertions for the new gh extension remove aw --force command.
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/smoke-copilot.golden Updates golden compiled output for the new gh-aw setup steps.
.github/workflows/static-analysis-report.lock.yml Updates compiled workflow output to match new gh-aw setup behavior.
.github/workflows/workflow-normalizer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/weekly-blog-post-writer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/smoke-copilot.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/smoke-copilot-arm.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/smoke-claude.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/security-review.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/safe-output-health.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/q.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/python-data-charts.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/prompt-clustering-analysis.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/pr-sous-chef.lock.yml Updates build-from-source step to remove aw extension with --force.
.github/workflows/metrics-collector.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/mcp-inspector.lock.yml Regenerated lock workflow reflecting new gh-aw setup step (plus a Datadog header var tweak).
.github/workflows/example-workflow-analyzer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/dev-hawk.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/deep-report.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-subagent-optimizer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-security-observability.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-safe-output-optimizer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-rendering-scripts-verifier.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-observability-report.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-firewall-report.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-cli-tools-tester.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-cache-strategy-analyzer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-agentrx-trace-optimizer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/daily-agent-of-the-day-blog-writer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/copilot-token-optimizer.lock.yml Updates build-from-source step to remove aw extension with --force.
.github/workflows/copilot-token-audit.lock.yml Updates build-from-source step to remove aw extension with --force and regenerates MCP bootstrap section.
.github/workflows/cloclo.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/aw-failure-investigator.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/audit-workflows.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/api-consumption-report.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/agent-persona-explorer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.
.github/workflows/agent-performance-analyzer.lock.yml Regenerated lock workflow reflecting new gh-aw setup step.

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/mcp_setup_generator.go:185

  • The MCP setup always uses GitHubOrgRepo + "/actions/setup-cli" even when the compiler is in ActionModeAction. Elsewhere, action mode installs gh-aw via the external github/gh-aw-actions/setup-cli action (e.g., pkg/workflow/maintenance_workflow.go:43-56 and pkg/cli/copilot_setup.go:278-282). Consider selecting the action repo based on c.actionMode here as well (gh-aw for release mode, gh-aw-actions for action mode) so generated workflows are consistent and don’t rely on the internal action path in action mode.
  • Files reviewed: 42/42 changed files
  • Comments generated: 3

Comment on lines +176 to +180
func generateAgenticWorkflowsInstallStep(c *Compiler, yaml *strings.Builder, hasAgenticWorkflows bool, workflowData *WorkflowData) {
if !hasAgenticWorkflows {
return
}
if hasGhAwImport {
mcpSetupGeneratorLog.Print("Skipping gh-aw extension installation step (provided by shared/mcp/gh-aw.md import)")
return
}

Comment on lines 141 to +158
@@ -149,17 +151,23 @@ func TestAgenticWorkflowsInstallStepIncludesGHToken(t *testing.T) {

// Verify the install step is present
assert.Contains(t, result, "Install gh-aw extension",
"MCP setup should include gh-aw installation step when agentic-workflows tool is enabled and no import is present")

// Verify GH_TOKEN environment variable is set with the default token expression
assert.Contains(t, result, "GH_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}",
"install step should use default GH_TOKEN fallback chain when no custom token is specified")

// Verify the install commands are present
assert.Contains(t, result, "gh extension install github/gh-aw",
"install step should include command to install gh-aw extension")
assert.Contains(t, result, "if gh extension list | grep -qE '(^|[[:space:]]|/)gh-aw($|[[:space:]]|$)'; then",
"install step should detect both github/gh-aw and local gh-aw extension registrations")
"MCP setup should include gh-aw installation step when agentic-workflows tool is enabled")

// Verify setup-cli action is used with default token expression
assert.Contains(t, result, "uses: github/gh-aw/actions/setup-cli@",
"install step should use setup-cli action")
"headers": {
"DD_API_KEY": "\${DD_API_KEY}",
"DD_APPLICATION_KEY": "\${DD_APPLICATION_KEY}",
"DD_APPLICATION_KEY": "\${DD_APP_KEY}",
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI and others added 2 commits May 19, 2026 13:47
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 19, 2026

@copilot merge main and recompile

Done in de048a8. I merged main into this branch, resolved merge conflicts, and recompiled the generated workflow outputs.

@github-actions
Copy link
Copy Markdown
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions github-actions Bot removed the smoke label May 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

🚀 Smoke Pi MISSION COMPLETE! Pi delivered. 🥧

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

Smoke OTEL completed successfully!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

💫 TO BE CONTINUED... Smoke Claude failed! Our hero faces unexpected challenges...

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

🚀 Smoke Gemini MISSION COMPLETE! Gemini has spoken. ✨

Caution

agentic threat detected
Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation.

Details

The threat detection results could not be parsed.

Review the workflow run logs for details.

Testing safeoutputs

@github-actions
Copy link
Copy Markdown
Contributor

Commit pushed: d5faf2d

Generated by Changeset Generator · ● 1.8M

@github-actions
Copy link
Copy Markdown
Contributor

Caution

agentic threat detected
Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation.

Details

The threat detection results could not be parsed.

Review the workflow run logs for details.

Smoke Test Results

  • GitHub MCP: ✅
  • Web Fetch: ✅
  • File Writing: ✅
  • Bash Tool: ✅
  • Build gh-aw: ❌

Overall status: FAIL

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • localhost

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "localhost"

See Network Configuration for more information.

Smoke Gemini — Powered by Gemini ·

@github-actions
Copy link
Copy Markdown
Contributor

Agent Container Tool Check

Tool Status Version
bash 5.2.21
sh available
git 2.54.0
jq 1.7
yq 4.53.2
curl 8.5.0
gh 2.92.0
node 22.22.2
python3 3.14.5
go 1.24.13
java 10.0.300
dotnet Not reported (command completed)

Result: 12/12 tools available ✅

All common development tools are accessible in the agent container environment.

🔧 Tool validation by Agent Container Smoke Test · ● 828.2K ·

@pelikhan pelikhan merged commit 2e49ce6 into main May 19, 2026
@pelikhan pelikhan deleted the copilot/fix-setup-gh-aw-idempotency branch May 19, 2026 14:06
@github-actions
Copy link
Copy Markdown
Contributor

PRs: #33272 Replace raw log.Print* usage in library packages with package-scoped logger instances; #33283 [docs] Update documentation for features from 2026-05-19
✅ GitHub MCP, Serena MCP, file writing, bash readback, build, cache memory, set_issue_field
❌ Playwright exact subcommands, web-fetch MCP, comment memory files
Overall: FAIL

Warning

Firewall blocked 6 domains

The following domains were blocked by the firewall during workflow execution:

  • accounts.google.com
  • android.clients.google.com
  • clients2.google.com
  • contentautofill.googleapis.com
  • safebrowsingohttpgateway.googleapis.com
  • www.google.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "accounts.google.com"
    - "android.clients.google.com"
    - "clients2.google.com"
    - "contentautofill.googleapis.com"
    - "safebrowsingohttpgateway.googleapis.com"
    - "www.google.com"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex · ● 6.6M ·

@github-actions
Copy link
Copy Markdown
Contributor

📰 DEVELOPING STORY: Smoke Copilot reports failed. Our correspondents are investigating the incident...

@github-actions github-actions Bot mentioned this pull request May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[aw-failures] Make setup-gh-aw extension install idempotent — gh extension install fails when gh-aw is already installed

4 participants