Skip to content

refactor: replace hardcoded /opt/gh-aw/ paths with GhAwHome constants#20864

Closed
Copilot wants to merge 7 commits intomainfrom
copilot/update-action-files-location
Closed

refactor: replace hardcoded /opt/gh-aw/ paths with GhAwHome constants#20864
Copilot wants to merge 7 commits intomainfrom
copilot/update-action-files-location

Conversation

Copy link
Contributor

Copilot AI commented Mar 13, 2026

Refactors workflow compilation and setup scripts to eliminate hardcoded /opt/gh-aw paths, enabling self-hosted runners to relocate the installation via GH_AW_HOME.

Changes Made

New Constants & Helpers (pkg/workflow/setup_action_paths.go)

  • Added GhAwHome (shell), GhAwHomeJS (JavaScript), GhAwHomeExpr (GHA expression), GhAwHomeExprDefault (${{ env.GH_AW_HOME || '/opt/gh-aw' }}) constants
  • Updated SetupActionDestination to use GhAwHomeExpr + "/actions" so GitHub Actions resolves it before passing to shell
  • Added JsRequireGhAw() helper for Node.js require() paths

Constants (pkg/constants/constants.go)

  • Added GhAwHomeDefault
  • Simplified DefaultGhAwMount to use ${GH_AW_HOME} without :- fallback (job env always sets it)

Setup Scripts

  • actions/setup/setup.sh: Added trailing slash normalization before deriving GH_AW_HOME; exports to $GITHUB_ENV
  • actions/setup/sh/*.sh: Quoted all ${GH_AW_HOME:-/opt/gh-aw} expansions to prevent word-splitting

Workflow Compiler

  • compiler_yaml_helpers.go: Restored INPUT_DESTINATION in script mode and destination: in dev/release mode using SetupActionDestination
  • compiler_safe_outputs_steps.go, compiler_safe_outputs_specialized.go, maintenance_workflow.go, compiler_workflow_call.go: Replaced all require('/opt/gh-aw/...') with JsRequireGhAw()
  • compiler_main_job.go, compiler_safe_outputs_job.go, repo_memory.go, notify_comment.go: Job-level GH_AW_HOME uses GhAwHomeExprDefault so callers can override via workflow/repo env
  • compiler_main_job.go: Restored GH_AW_SAFE_OUTPUTS* paths as job-level env vars using GhAwHomeExpr

Tests & Compiled Outputs

  • Updated all affected test assertions to match new dynamic path forms
  • Regenerated golden files
  • Recompiled all 173 workflow lock files

🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.



✨ PR Review Safe Output Test - Run 23071512648

💥 [THE END] — Illustrated by Smoke Claude ·



✨ PR Review Safe Output Test - Run 23088152922

💥 [THE END] — Illustrated by Smoke Claude ·



✨ PR Review Safe Output Test - Run 23100193159

💥 [THE END] — Illustrated by Smoke Claude ·

Copilot AI and others added 2 commits March 13, 2026 20:44
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Mar 13, 2026

✅ All tools validated successfully! Agent Container Smoke Test confirms agent container is ready.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 13, 2026

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

@github-actions
Copy link
Contributor

github-actions bot commented Mar 13, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

Commit pushed: 9d3ac6b

Generated by Changeset Generator

@github-actions
Copy link
Contributor

Agent Container Tool Check

Tool Status Version
bash 5.2.21
sh available
git 2.53.0
jq 1.7
yq v4.52.4
curl 8.5.0
gh 2.87.3
node v20.20.1
python3 3.12.3
go go1.24.13
java 21.0.10
dotnet 10.0.102

Result: 12/12 tools available ✅

Overall Status: PASS

🔧 Tool validation by Agent Container Smoke Test ·

@github-actions
Copy link
Contributor

Smoke test (Codex) results:
PR titles: #20856 "[docs] Update documentation for features from 2026-03-13"; #20853 "chore(deps): bump undici from 6.23.0 to 6.24.0 in /actions/setup/js in the npm_and_yarn group across 1 directory"
GitHub MCP (2 merged PRs): ✅
Serena activate+find_symbol (>=3 symbols): ✅
Playwright title contains "GitHub": ✅
web-fetch contains "GitHub": ✅
File write + bash cat verify: ✅
Build (GOCACHE=/tmp/go-cache GOMODCACHE=/tmp/go-mod make build): ✅
Overall status: PASS

🔮 The oracle has spoken through Smoke Codex ·

Warning

⚠️ Firewall blocked 1 domain

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

  • ab.chatgpt.com

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

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"

See Network Configuration for more information.

@github-actions
Copy link
Contributor

Smoke Test 23071512641@app/copilot-swe-agent (assignees: @pelikhan, @Copilot)

Test Status
GitHub MCP (last 2 merged PRs)
mcpscripts-gh CLI
Playwright (github.com title)
Web Fetch
File Writing + Bash
Discussion Interaction
Build gh-aw
Discussion Creation
Workflow Dispatch
PR Review

Overall: ✅ PASS

📰 BREAKING: Report filed by Smoke Copilot ·

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

LGTM! The refactoring cleanly replaces hardcoded /opt/gh-aw/ paths with GH_AW_HOME-derived constants. The fallback ${GH_AW_HOME:-/opt/gh-aw} ensures backward compatibility.

📰 BREAKING: Report filed by Smoke Copilot


# Derive GH_AW_HOME from DESTINATION (strip /actions suffix)
# This allows setup.sh to be used with custom base directories
GH_AW_HOME="${DESTINATION%/actions}"
Copy link
Contributor

Choose a reason for hiding this comment

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

Nice use of parameter expansion \$\{DESTINATION%/actions} to derive GH_AW_HOME. This cleanly strips the /actions suffix and avoids hardcoding /opt/gh-aw everywhere.

copilot)
echo "Using Copilot converter..."
bash /opt/gh-aw/actions/convert_gateway_config_copilot.sh
bash ${GH_AW_HOME:-/opt/gh-aw}/actions/convert_gateway_config_copilot.sh
Copy link
Contributor

Choose a reason for hiding this comment

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

Good use of \$\{GH_AW_HOME:-/opt/gh-aw} default fallback — ensures backward compatibility if GH_AW_HOME isn't set in older environments.

@github-actions
Copy link
Contributor

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@github-actions
Copy link
Contributor

Smoke Test Results — Run §23071512648

Overall: PARTIAL (2 skipped, rest passed)

# Test
1 GitHub MCP
2 GH CLI MCP
3 Serena MCP (5 symbols)
4 Make Build
5 Playwright (GitHub)
6 Tavily Search
7 File Write
8 Bash Tool
9 Discussion Comment
10 AW MCP Status
11 Update PR Body
12 Review Comments
13 Submit Review
14 Resolve Thread ⚠️ skipped
15 Add Reviewer
16 Push to Branch
17 Close PR ⚠️ skipped

💥 [THE END] — Illustrated by Smoke Claude ·

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

💥 Automated smoke test review - all systems nominal!

💥 [THE END] — Illustrated by Smoke Claude

}

# Get destination from input or use default
DESTINATION="${INPUT_DESTINATION:-/opt/gh-aw/actions}"
Copy link
Contributor

Choose a reason for hiding this comment

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

Good improvement - using mkdir -p first and only falling back to sudo when needed. This is more portable across Linux environments where /opt may or may not require elevated permissions.

copilot)
echo "Using Copilot converter..."
bash /opt/gh-aw/actions/convert_gateway_config_copilot.sh
bash ${GH_AW_HOME:-/opt/gh-aw}/actions/convert_gateway_config_copilot.sh
Copy link
Contributor

Choose a reason for hiding this comment

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

Using \$\{GH_AW_HOME:-/opt/gh-aw} with a fallback default is a solid approach — maintains backward compatibility while supporting custom install paths.

@pelikhan pelikhan marked this pull request as ready for review March 13, 2026 21:49
Copilot AI review requested due to automatic review settings March 13, 2026 21:49
@pelikhan
Copy link
Contributor

@copilot recompile

…ride, JS require() fixes

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

Copilot AI commented Mar 13, 2026

@copilot review all comments

Addressed all review comments in b0a4edd:

  • Shell quoting: Quoted all ${GH_AW_HOME:-/opt/gh-aw} in start_safe_outputs_server.sh, start_mcp_scripts_server.sh, start_mcp_gateway.sh
  • setup.sh: Added trailing slash normalization before deriving GH_AW_HOME
  • DefaultGhAwMount: Simplified to ${GH_AW_HOME}:${GH_AW_HOME}:ro (no :- fallback needed since job env always sets it)
  • SetupActionDestination: Now uses ${{ env.GH_AW_HOME }}/actions (GHA expression, resolved before shell runs)
  • generateSetupStep: Restored INPUT_DESTINATION in script mode and destination: in dev/release mode
  • JS require() paths: All require('/opt/gh-aw/actions/...') replaced with JsRequireGhAw() across all compiler files
  • Job-level GH_AW_HOME: Uses ${{ env.GH_AW_HOME || '/opt/gh-aw' }} so callers can override via workflow/repo env
  • GH_AW_SAFE_OUTPUTS paths: Restored as job-level env vars using ${{ env.GH_AW_HOME }} expression

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 r /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git 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 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 or_test.go rep git rev-�� --show-toplevel 8n3J1Db/7QLLar81GCpYF-yKCvG6 /usr/bin/git /opt/gh-aw w_test.go 8c47e985c21fbd63--show-toplevel 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 64/pkg/tool/linu--show-toplevel zG9RMQhZJc55L/eEhPRVzpF4zBHGM5cPg5/BETFE57Ca8RFu8n3J1Db/AEolF0nzG9RMQhZJc55L /home/REDACTED/.cargo/bin/bash ry=1 64/pkg/tool/linurev-parse che/go-build/e9/--show-toplevel bash --no�� --noprofile /opt/hostedtoolcache/node/24.14.0/x64/bin/npm /usr/local/sbin/bash --package-lock-ogit 64/pkg/tool/linurev-parse /opt/hostedtoolc--show-toplevel bash (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 x_amd64/vet /usr/bin/git git rev-�� --show-toplevel git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git node (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 git /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 --show-toplevel git sh --show-toplevel x_amd64/vet /usr/bin/git git rev-�� --show-toplevel git nfig/composer/vendor/bin/bash --show-toplevel x_amd64/vet /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel grep 0/x64/bin/node GH_AW_SAFE_OUTPUgit pkg/ /usr/bin/git git cjs --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha -v ./pkg/workflow/ /usr/bin/git --show-toplevel x_amd64/cgo /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git e:]]*&#34;\([^&#34;]*\)&#34;git git /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 --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git -unreachable=falbash /tmp/go-build136--norc ash git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.0/x-ifaceassert (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --noprofile git /opt/pipx_bin/bash --show-toplevel ache/go/1.25.0/xrev-parse /usr/bin/git bash --no�� --noprofile git /usr/bin/git --show-toplevel ache/go/1.25.0/xrev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel /opt/hostedtoolcrev-parse /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel go (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 --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha se 01972/b161/vet.cfg fg OUTPUT -d 168.63.129.16 ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git --get-regexp --local 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git --local fg 64/pkg/tool/linu--show-toplevel 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 --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha se 01972/b171/vet.cfg ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -nxv (http block)
    • 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 get /start_mcp_gatewrev-parse 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git --local fg 64/pkg/tool/linu--show-toplevel 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 --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel x_amd64/vet x_amd64/asm get nstants.go 64/pkg/tool/linu--show-toplevel x_amd64/asm rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git --local fg 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git tnet/tools/bash --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git bash --no�� --noprofile git /opt/hostedtoolcache/node/24.14.0/x64/bin/bash --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/infocmp--show-toplevel bash (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 --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel x_amd64/vet /usr/bin/git --get-regexp --local 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel t|TestThreat /usr/bin/git --local fg 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git nfig/composer/vendor/bin/bash --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git bash --no�� --noprofile git /home/REDACTED/go/bin/bash --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/infocmp--show-toplevel bash (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 --show-toplevel bash /usr/bin/git --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha -m Initial commit 0/x64/bin/node --noprofile /opt/hostedtoolcrev-parse /usr/local/sbin/--show-toplevel git ance�� --show-toplevel bash 0/x64/bin/node --noprofile /opt/hostedtoolcrev-parse /usr/bin/sed git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha -m Initial commit 0/x64/bin/node --show-toplevel git /opt/hostedtoolc--show-toplevel git ance�� --show-toplevel node 0/x64/bin/node 64/pkg/tool/linugit git /opt/hostedtoolc--show-toplevel git (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 ck &#39;scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha ath ../../../.pr**/*.json git /opt/hostedtoolc../../../.prettierignore c2d6ac2f8e0b17eesh git bin/bash node /opt�� re --log-level=error --package-lock-only /usr/bin/git c2d6ac2f8e0b17eegit git /home/REDACTED/.ca/home/REDACTED/work/gh-aw/gh-aw/.github/workflows 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 --show-toplevel bash /usr/bin/git --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha --is-ancestor 80ae7b71850fe131438142f71253dcff91970842 0/x64/bin/node --noprofile node /opt/pipx_bin/ba--show-toplevel git rev-�� --show-toplevel bash 0/x64/bin/node --noprofile git /home/REDACTED/.do--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 /usr/bin/git git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git node js/f�� /usr/bin/git git /usr/bin/git --show-toplevel git /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 --show-toplevel bash /usr/bin/git --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha /tmp/gh-aw bash 0/x64/bin/node --noprofile node /snap/bin/bash git rev-�� --show-toplevel bash 0/x64/bin/node --noprofile git /home/REDACTED/.co--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha /usr/bin/git git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git node js/f�� /usr/bin/git git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 node /usr/bin/git /tmp/TestHashStagit go /usr/bin/git git form�� 64275a52614279e1478f409a770a8b0fcd02ef1f..HEAD --stdout /usr/bin/git user.name Test User /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE x_amd64/compile GOINSECURE GOMOD ed } } x_amd64/compile env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git /usr/lib/git-core/git --show-toplevel -goversion /usr/bin/git /usr/lib/git-core/git main�� run --auto 64/pkg/tool/linux_amd64/vet --detach test@example.comrev-parse /usr/bin/git 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE Ez/GFtmVa307QDDNuUCuh0B/TyktU5yn-buildtags (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git /usr/bin/git --show-toplevel go /usr/bin/git git comm�� -m Update initial file 64/pkg/tool/linux_amd64/vet user.name Test User /usr/bin/git 64/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 run download 2 --dir test-logs/run-2 GO111MODULE ache/uv/0.10.10/x86_64/bash GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 git /usr/bin/sed user.name Test User /usr/bin/git sed s|[/�� ace-editor.md git sole.test --show-toplevel go /opt/hostedtoolc--show-toplevel sole.test (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE me: String!) { repository(owne-nilfunc GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 git /usr/bin/sed user.email test@example.comrev-parse /usr/bin/git sed s/-\�� agent-performance-analyzer.md git stants.test --show-toplevel go /usr/bin/git stants.test (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE k/_temp/uv-python-dir/bash GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD ed } } go (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 git /usr/bin/sed --show-toplevel resolved$ /usr/bin/git 8E/loOf-cgjR6MKzremote.origin.url s/^-�� ache/go/1.25.0/x--show-toplevel git 64/pkg/tool/linux_amd64/vet --show-toplevel go /usr/bin/git 64/pkg/tool/linu--jq (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE /opt/hostedtoolc-nolocalimports GOINSECURE GOMOD ed } } go env lidations passed&#34; GO111MODULE me: String!) { repository(owner: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/sed -unreachable=falgit /tmp/go-build224rev-parse /usr/bin/git sed s/-$�� agent-performance-analyzer.md git 64/pkg/tool/linux_amd64/compile GOMODCACHE go /usr/bin/git 64/pkg/tool/linux_amd64/compile (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 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 run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 x_amd64/vet env ithub/workflows GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb --jq .object.sha ck &#39;scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb --jq .object.sha ath ../../../.pr**/*.json git er c2d6ac2f8e0b17eesh git tnet/tools/bash node /opt�� install --package-lock-only /usr/bin/git c2d6ac2f8e0b17ee/usr/bin/gh git /home/REDACTED/.lographql 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 --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel nly ache/go/1.25.0/x64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/asm /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel git /usr/bin/git -m Branch commit 0/x64/bin/node git rev-�� --show-toplevel git /usr/bin/git --show-toplevel bash 0/x64/bin/node 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 -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/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git /usr/bin/git /home/REDACTED/wor/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link config /usr/bin/gh git rev-�� --show-toplevel /usr/bin/gh ache/go/1.25.0/x64/bin/node runs/20260313-22git -f /usr/bin/git git (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 -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/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE repository(owne-nilfunc GOINSECURE GOMOD GOMODCACHE go (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 -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name:-nilfunc GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha xterm-color git /usr/bin/git /home/REDACTED/wor/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/link (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 -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha --show-toplevel git /sh c2d6ac2f8e0b17eegit git rgo/bin/bash git rev-�� js/**/*.json&#39; --ignore-path ../../../.prettierignore git /usr/bin/git c2d6ac2f8e0b17ee/usr/bin/gh git /home/REDACTED/.cographql 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 --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git DefaultGhAwMountbash pkg/ x86_64/bash git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linu-goversion /usr/bin/git -bool -buildtags ache/go/1.25.0/x--noprofile git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel nly /usr/bin/git git rev-�� ithub-script/git/ref/tags/v8 git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel bash /usr/bin/git x86_64/bash bash 0/x64/bin/node git rev-�� ithub-script/git/ref/tags/v8 git /usr/bin/git --show-toplevel grep 0/x64/bin/node 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 GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion /x64&#34;; export PAgit go /usr/bin/git cut -f1 ache/go/1.25.0/x--show-toplevel git 64/pkg/tool/linux_amd64/compile --show-toplevel go /usr/bin/git 64/pkg/tool/linux_amd64/compile (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 r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 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 workflow list --json name,state,path --repo owner/repo /usr/bin/git agent-performancgit rev-parse p/bin/bash git rev-�� --show-toplevel git /usr/bin/git /home/REDACTED/worgit config /home/REDACTED/.lo--show-toplevel git (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build224170493/b383/cli.test /tmp/go-build224170493/b383/cli.test -test.testlogfile=/tmp/go-build224170493/b383/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-build1563214984/b001/cli.test /tmp/go-build1563214984/b001/cli.test -test.testlogfile=/tmp/go-build1563214984/b001/testlog.txt -test.paniconexit0 -test.timeout=10m0s rev-�� --show-toplevel infocmp /usr/bin/git xterm-color ortcfg 0/x64/bin/node git rev-�� --show-toplevel infocmp /usr/bin/git vaScript25786823git ache/go/1.25.0/xrev-parse er: String!, $na--show-toplevel git (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE repository(owner: $owner, name:-f GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --show-toplevel /usr/bin/gh /usr/bin/git ithub/workflows -f es.test git rev-�� --show-toplevel es.test /usr/bin/git blog-auditor.md g/repoutil/repourev-parse 0/x64/bin/node git (http block)

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

@pelikhan
Copy link
Contributor

@copilot merge main, recompile

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

Copilot AI commented Mar 14, 2026

@copilot merge main, recompile

Merged main and recompiled all 173 workflow lock files in e1eddb9.

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 -embedcfg /tmp/go-build970681448/b336/embedcfg -pack (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/pkg/cli/access_log.go /home/REDACTED/work/gh-aw/gh-aw/pkg/cli/actionlint.go (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/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb --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:

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

💥 Automated smoke test review - all systems nominal!

💥 [THE END] — Illustrated by Smoke Claude

"gh-aw": patch
---

Replaced hardcoded `/opt/gh-aw/` paths with shared `GhAwHome` constants and `GH_AW_HOME`-based path resolution across setup scripts and workflow compilation.
Copy link
Contributor

Choose a reason for hiding this comment

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

Good changeset note! Concise and clear about what changed.

"gh-aw": patch
---

Add gh CLI configuration script for GitHub Enterprise support. Workflows can now source `configure_gh_for_ghe.sh` before running `gh` commands to automatically detect and configure the correct GitHub Enterprise host from environment variables (`GITHUB_SERVER_URL`, `GITHUB_ENTERPRISE_HOST`, `GITHUB_HOST`, or `GH_HOST`). This fixes the "none of the git remotes configured for this repository point to a known GitHub host" error when running workflows like repo-assist on GHE domains.
Copy link
Contributor

Choose a reason for hiding this comment

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

Good description of the GHES fix. Clear problem statement and resolution.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Contributor

Hey @Copilot 👋 — the GH_AW_HOME refactor itself is solid and clearly needed. However, this PR bundles an independent new feature — configure_gh_for_ghe.sh for GitHub Enterprise host auto-detection — alongside the path-constant rollout. That's a focus concern: the GHE script isn't mentioned in the PR description and represents a separate capability change.

Recommendation: Split into two focused PRs:

  1. PR AGH_AW_HOME constant rollout: all the pkg/workflow/setup_action_paths.go changes, compiler_*.go updates, and recompiled lock files
  2. PR B — GitHub Enterprise support: configure_gh_for_ghe.sh, its test, and any related changes

This keeps each PR reviewable on its own merits and makes the git history easier to bisect.

The 27K-line diff across 282 files (mostly recompiled lock files) makes this hard to review as-is. Splitting would also reduce risk — the GHE script can be validated independently without holding up the path refactor. 🙏

Generated by Contribution Check ·

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.

3 participants