fix: recompile smoke-codex workflow with gh-aw v0.64.2 to unblock github.com#1483
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the smoke-codex workflow to a newer gh-aw compiler version to unblock Codex runs inside the AWF sandbox (notably by expanding the firewall allowlist to include github.com and related domains) and to align with newer gh-aw runtime conventions.
Changes:
- Recompiled
smoke-codex.lock.ymlwith gh-awv0.64.2(new schema, updated images, expanded allowlist, adds--audit-dir+ runner-temp mounts). - Removed deprecated
sandbox.mcp.containerfrontmatter fromsmoke-codex.md.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .github/workflows/smoke-codex.md | Removes deprecated sandbox MCP container override from workflow manifest. |
| .github/workflows/smoke-codex.lock.yml | Regenerates compiled workflow with updated gh-aw/AWF/MCP gateway versions and expanded firewall allowlist. |
Comments suppressed due to low confidence (2)
.github/workflows/smoke-codex.lock.yml:623
set-runtime-pathswritesGH_AW_SAFE_OUTPUTS_*values to$GITHUB_OUTPUT, but theStart MCP Gatewaystep only setsGH_AW_SAFE_OUTPUTS. As a result,MCP_GATEWAY_DOCKER_COMMANDwill pass emptyGH_AW_SAFE_OUTPUTS_CONFIG_PATH/GH_AW_SAFE_OUTPUTS_TOOLS_PATHenv vars into the gateway container. Set these two env vars on theStart MCP Gatewaystep (or export them via$GITHUB_ENVinset-runtime-paths) so the container receives the correct paths.
- name: Start MCP Gateway
id: start-mcp-gateway
env:
GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
GH_AW_SAFE_OUTPUTS_API_KEY: ${{ steps.safe-outputs-start.outputs.api_key }}
GH_AW_SAFE_OUTPUTS_PORT: ${{ steps.safe-outputs-start.outputs.port }}
GITHUB_MCP_GUARD_MIN_INTEGRITY: ${{ steps.determine-automatic-lockdown.outputs.min_integrity }}
GITHUB_MCP_GUARD_REPOS: ${{ steps.determine-automatic-lockdown.outputs.repos }}
GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
.github/workflows/smoke-codex.lock.yml:603
Start Safe Outputs MCP HTTP Serversets port/key/tools/config env vars, but it does not setGH_AW_SAFE_OUTPUTS(the output NDJSON path). Since later steps expect safe outputs at${RUNNER_TEMP}/gh-aw/safeoutputs/outputs.jsonl, consider passingGH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}here as well so the server writes to the same location.
- name: Start Safe Outputs MCP HTTP Server
id: safe-outputs-start
env:
DEBUG: '*'
GH_AW_SAFE_OUTPUTS_PORT: ${{ steps.safe-outputs-config.outputs.safe_outputs_port }}
GH_AW_SAFE_OUTPUTS_API_KEY: ${{ steps.safe-outputs-config.outputs.safe_outputs_api_key }}
GH_AW_SAFE_OUTPUTS_TOOLS_PATH: ${{ runner.temp }}/gh-aw/safeoutputs/tools.json
GH_AW_SAFE_OUTPUTS_CONFIG_PATH: ${{ runner.temp }}/gh-aw/safeoutputs/config.json
GH_AW_MCP_LOG_DIR: /tmp/gh-aw/mcp-logs/safeoutputs
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| echo "GH_AW_SAFE_OUTPUTS=${RUNNER_TEMP}/gh-aw/safeoutputs/outputs.jsonl" >> "$GITHUB_OUTPUT" | ||
| echo "GH_AW_SAFE_OUTPUTS_CONFIG_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" >> "$GITHUB_OUTPUT" | ||
| echo "GH_AW_SAFE_OUTPUTS_TOOLS_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/tools.json" >> "$GITHUB_OUTPUT" |
There was a problem hiding this comment.
set-runtime-paths currently writes GH_AW_SAFE_OUTPUTS (and related paths) only to $GITHUB_OUTPUT. Later shell steps (e.g., the safe-outputs validation post-step) won’t see these values unless they explicitly reference steps.set-runtime-paths.outputs.*, and will fall back to /opt/gh-aw/... paths that are no longer used. Consider also exporting these variables via $GITHUB_ENV so subsequent run: steps reliably pick them up.
This issue also appears in the following locations of the same file:
- line 595
- line 615
| echo "GH_AW_SAFE_OUTPUTS=${RUNNER_TEMP}/gh-aw/safeoutputs/outputs.jsonl" >> "$GITHUB_OUTPUT" | |
| echo "GH_AW_SAFE_OUTPUTS_CONFIG_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" >> "$GITHUB_OUTPUT" | |
| echo "GH_AW_SAFE_OUTPUTS_TOOLS_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/tools.json" >> "$GITHUB_OUTPUT" | |
| echo "GH_AW_SAFE_OUTPUTS=${RUNNER_TEMP}/gh-aw/safeoutputs/outputs.jsonl" >> "$GITHUB_OUTPUT" | |
| echo "GH_AW_SAFE_OUTPUTS=${RUNNER_TEMP}/gh-aw/safeoutputs/outputs.jsonl" >> "$GITHUB_ENV" | |
| echo "GH_AW_SAFE_OUTPUTS_CONFIG_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" >> "$GITHUB_OUTPUT" | |
| echo "GH_AW_SAFE_OUTPUTS_CONFIG_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" >> "$GITHUB_ENV" | |
| echo "GH_AW_SAFE_OUTPUTS_TOOLS_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/tools.json" >> "$GITHUB_OUTPUT" | |
| echo "GH_AW_SAFE_OUTPUTS_TOOLS_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/tools.json" >> "$GITHUB_ENV" |
…passthrough (#1482) * Initial plan * feat: add --exclude-env flag to exclude vars from --env-all passthrough Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/378a3ff5-6143-43d0-ad80-8d2866c010d5 * test: add GITHUB_TOKEN exclusion test for excludeEnv with envAll Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/378a3ff5-6143-43d0-ad80-8d2866c010d5 * fix: recompile smoke-codex workflow with gh-aw v0.64.2 to unblock github.com (#1483) * Initial plan * fix: recompile smoke-codex with gh-aw v0.64.2 to add github.com to allowed domains --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * [WIP] Fix failing GitHub Actions workflow agent (#1484) * Initial plan * fix: postprocess regex to match gh-aw v0.64.2 install path Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/2fc9b7aa-85e8-4db2-99c3-53b5e7c5c9b9 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
The
smoke-codexagent job has been failing consistently becausegithub.comwas absent from the AWF firewall allowlist — the lock file was compiled with gh-aw v0.58.2, whosegithubdomain group didn't includegithub.com. The Codex CLI requires direct access togithub.comfrom within the sandbox, causingExecute Codexto exit non-zero.Changes
smoke-codex.md: Removesandbox.mcp.container— deprecated internal implementation detail rejected by strict mode in v0.64.2+smoke-codex.lock.yml: Recompiled with gh-aw v0.64.2github.com,docs.github.com,github.blog,www.googleapis.comto--allow-domains(expandedgithubgroup)v0.1.15→v0.2.60.24.1→0.25.1--audit-dirflag and--mountfor$RUNNER_TEMP/gh-awThe old compiled domain list vs new:
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/repos/github/gh-aw-actions/git/ref/tags/v0.64.2/usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.64.2 --jq .object.sha unsafe-execa.js son tnet/tools/git(http block)https://api.github.com/repos/github/gh-aw-firewall/actions/runs/23687387245/artifacts/usr/bin/gh gh run download 23687387245 -R github/gh-aw-firewall --name agent --dir /tmp/agent-artifact t.js(http block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.