Bump gh-aw-firewall to v0.28.20 - #61527
Conversation
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
|
@copilot resolve the merge conflicts on this branch. |
|
/smoke-copilot |
|
📰 BREAKING: Smoke Copilot is now investigating this issue comment. Sources say the story is developing... |
There was a problem hiding this comment.
🟡 Changes recommended
The default AWF images remain unpinned, and omitted enclave repository scopes generate schema-invalid configuration.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates the default AWF release to v0.28.20 and integrates its native enclave GitHub tooling schema.
Changes:
- Bumps AWF and regenerates workflow lock files.
- Emits native
enclaves[].agent.tools.githubconfiguration. - Preserves compiler-generated Docker action pins during recompilation.
File summaries
| File | Description |
|---|---|
pkg/constants/version_constants.go |
Bumps AWF and adds the enclave-tools version gate. |
pkg/workflow/schemas/awf-config.schema.json |
Refreshes the embedded AWF schema. |
pkg/workflow/enclaves.go |
Generates and validates native enclave tool configuration. |
pkg/workflow/enclaves_test.go |
Tests native AWF enclave output. |
pkg/workflow/enclave_github_proxy_test.go |
Tests updated version gating. |
pkg/workflow/action_resolver.go |
Retains generated Docker action pins. |
pkg/workflow/action_resolver_test.go |
Tests Docker action retention. |
specs/awf-config-sources-spec.md |
Documents the new config mapping. |
.changeset/patch-bump-awf-v0-28-20.md |
Records the patch release change. |
.github/workflows/smoke-cursor.lock.yml |
Regenerates Cursor workflow references. |
.github/workflows/smoke-crush.lock.yml |
Regenerates Crush workflow references. |
.github/workflows/smoke-ci.lock.yml |
Regenerates CI workflow references. |
.github/workflows/notion-issue-summary.lock.yml |
Regenerates Notion workflow references. |
.github/workflows/hippo-embed.lock.yml |
Regenerates Hippo workflow references. |
.github/workflows/firewall.lock.yml |
Regenerates firewall workflow references. |
.github/workflows/example-permissions-warning.lock.yml |
Regenerates example workflow references. |
.github/workflows/codex-github-remote-mcp-test.lock.yml |
Regenerates Codex workflow references. |
Review details
- Files reviewed: 21/308 changed files
- Comments generated: 2
- Review effort level: Balanced
| @@ -64,7 +64,7 @@ const DefaultGitHubMCPServerVersion Version = "v1.12.1" | |||
| // | |||
| // The first recompile regenerates all lock files using the new version; the second recompile | |||
| // refreshes the container SHA pins that were resolved during the first pass. | |||
| const DefaultFirewallVersion Version = "v0.28.18" | |||
| const DefaultFirewallVersion Version = "v0.28.20" | |||
There was a problem hiding this comment.
Addressed in a47d55c: added the AWF v0.28.20 digests for agent, api-proxy, cli-proxy, and squid to the shared action lock and both embedded pin datasets, then recompiled the workflow locks so firewall images use @sha256 references.
| if githubTools := enclaveGitHubToolsConfig(enclave); githubTools != nil { | ||
| github := map[string]any{ | ||
| "allowed": stringSliceOrEmpty(githubTools.Allowed), | ||
| "allowedRepos": stringSliceOrEmpty(githubTools.AllowedRepos), |
There was a problem hiding this comment.
Addressed in a47d55c: enclaves[].agent.tools.github.allowedRepos now emits the effective scope from enclaveGitHubAllowedRepos, falling back to enclaves[].repos when allowed-repos is omitted, with schema-validating regression coverage.
|
@copilot Fix the code for all comments in this review thread. When a review comment includes a suggested change, apply the suggestion exactly. Do not make changes beyond what is described in the linked review thread. |
…rewall-to-v02820 # Conflicts: # .github/workflows/ab-testing-advisor.lock.yml # .github/workflows/ace-editor.lock.yml # .github/workflows/agent-job-health.lock.yml # .github/workflows/agent-performance-analyzer.lock.yml # .github/workflows/agent-persona-explorer.lock.yml # .github/workflows/agentic-token-audit.lock.yml # .github/workflows/agentic-token-optimizer.lock.yml # .github/workflows/agentic-token-trend-audit.lock.yml # .github/workflows/api-consumption-report.lock.yml # .github/workflows/approach-validator.lock.yml # .github/workflows/archie.lock.yml # .github/workflows/architecture-guardian.lock.yml # .github/workflows/archivx-agentic-workflows-analyzer.lock.yml # .github/workflows/artifacts-summary.lock.yml # .github/workflows/audit-workflows.lock.yml # .github/workflows/auto-triage-issues.lock.yml # .github/workflows/avenger.lock.yml # .github/workflows/aw-failure-investigator.lock.yml # .github/workflows/blog-auditor.lock.yml # .github/workflows/bot-detection.lock.yml # .github/workflows/breaking-change-checker.lock.yml # .github/workflows/changeset.lock.yml # .github/workflows/chaos-pr-bundle-fuzzer.lock.yml # .github/workflows/ci-coach.lock.yml # .github/workflows/ci-doctor.lock.yml # .github/workflows/claude-code-user-docs-review.lock.yml # .github/workflows/cli-consistency-checker.lock.yml # .github/workflows/cloclo.lock.yml # .github/workflows/code-scanning-fixer.lock.yml # .github/workflows/code-simplifier.lock.yml # .github/workflows/codex-github-remote-mcp-test.lock.yml # .github/workflows/commit-changes-analyzer.lock.yml # .github/workflows/constraint-solving-potd.lock.yml # .github/workflows/contribution-check.lock.yml # .github/workflows/copilot-agent-analysis.lock.yml # .github/workflows/copilot-centralization-drilldown.lock.yml # .github/workflows/copilot-centralization-optimizer.lock.yml # .github/workflows/copilot-cli-deep-research.lock.yml # .github/workflows/copilot-opt.lock.yml # .github/workflows/copilot-pr-merged-report.lock.yml # .github/workflows/copilot-pr-nlp-analysis.lock.yml # .github/workflows/copilot-pr-prompt-analysis.lock.yml # .github/workflows/copilot-session-insights.lock.yml # .github/workflows/craft.lock.yml # .github/workflows/daily-action-setup-security-audit.lock.yml # .github/workflows/daily-agent-of-the-day-blog-writer.lock.yml # .github/workflows/daily-agentrx-trace-optimizer.lock.yml # .github/workflows/daily-ambient-context-optimizer.lock.yml # .github/workflows/daily-architecture-diagram.lock.yml # .github/workflows/daily-arxiv-researcher.lock.yml # .github/workflows/daily-assign-issue-to-user.lock.yml # .github/workflows/daily-astrostylelite-markdown-spellcheck.lock.yml # .github/workflows/daily-aw-cross-repo-compile-check.lock.yml # .github/workflows/daily-awf-spec-compiler-surfacing.lock.yml # .github/workflows/daily-byok-ollama-test.lock.yml # .github/workflows/daily-cache-strategy-analyzer.lock.yml # .github/workflows/daily-caveman-optimizer.lock.yml # .github/workflows/daily-choice-test.lock.yml # .github/workflows/daily-cli-performance.lock.yml # .github/workflows/daily-cli-tools-tester.lock.yml # .github/workflows/daily-code-metrics.lock.yml # .github/workflows/daily-community-attribution.lock.yml # .github/workflows/daily-compiler-quality.lock.yml # .github/workflows/daily-compiler-threat-spec-optimizer.lock.yml # .github/workflows/daily-doc-healer.lock.yml # .github/workflows/daily-doc-updater.lock.yml # .github/workflows/daily-documentation-diagram.lock.yml # .github/workflows/daily-elixir-credo-snippet-audit.lock.yml # .github/workflows/daily-evals-report.lock.yml # .github/workflows/daily-experiment-report.lock.yml # .github/workflows/daily-fact.lock.yml # .github/workflows/daily-file-diet.lock.yml # .github/workflows/daily-firewall-report.lock.yml # .github/workflows/daily-formal-spec-verifier.lock.yml # .github/workflows/daily-geo-optimizer.lock.yml # .github/workflows/daily-github-docs-seo-optimizer.lock.yml # .github/workflows/daily-go-test-parallelizer.lock.yml # .github/workflows/daily-grader-audit.lock.yml # .github/workflows/daily-graft-intelligence.lock.yml # .github/workflows/daily-harness-experiment-proposer.lock.yml # .github/workflows/daily-issues-report.lock.yml # .github/workflows/daily-malicious-code-scan.lock.yml # .github/workflows/daily-max-ai-credits-test.lock.yml # .github/workflows/daily-mcp-concurrency-analysis.lock.yml # .github/workflows/daily-model-inventory.lock.yml # .github/workflows/daily-model-resolution.lock.yml # .github/workflows/daily-observability-report.lock.yml # .github/workflows/daily-pr-review-cursor.lock.yml # .github/workflows/daily-regression-audit-kiro.lock.yml # .github/workflows/daily-regulatory.lock.yml # .github/workflows/daily-rendering-scripts-verifier.lock.yml # .github/workflows/daily-safe-output-integrator.lock.yml # .github/workflows/daily-safe-output-optimizer.lock.yml # .github/workflows/daily-safe-outputs-conformance.lock.yml # .github/workflows/daily-safeoutputs-git-simulator.lock.yml # .github/workflows/daily-schema-audit-cursor.lock.yml # .github/workflows/daily-secrets-analysis.lock.yml # .github/workflows/daily-security-observability.lock.yml # .github/workflows/daily-semgrep-scan.lock.yml # .github/workflows/daily-spdd-spec-planner.lock.yml # .github/workflows/daily-spec-coverage-kiro.lock.yml # .github/workflows/daily-spending-forecast.lock.yml # .github/workflows/daily-squid-image-scan.lock.yml # .github/workflows/daily-storify.lock.yml # .github/workflows/daily-syntax-error-quality.lock.yml # .github/workflows/daily-team-status.lock.yml # .github/workflows/daily-testify-uber-super-expert.lock.yml # .github/workflows/daily-trajectory-grader-implementer.lock.yml # .github/workflows/daily-vulnhunter-scan.lock.yml # .github/workflows/daily-windows-defender-scan.lock.yml # .github/workflows/daily-windows-terminal-integration-builder.lock.yml # .github/workflows/daily-workflow-updater.lock.yml # .github/workflows/daily-yamllint-fixer.lock.yml # .github/workflows/dataflow-pr-discussion-dataset.lock.yml # .github/workflows/dead-code-remover.lock.yml # .github/workflows/deep-report.lock.yml # .github/workflows/deepsec-security-scan.lock.yml # .github/workflows/delight.lock.yml # .github/workflows/dependabot-burner.lock.yml # .github/workflows/dependabot-go-checker.lock.yml # .github/workflows/deployment-incident-monitor.lock.yml # .github/workflows/designer-drift-audit.lock.yml # .github/workflows/detection-analysis-report.lock.yml # .github/workflows/dev-hawk.lock.yml # .github/workflows/dev.lock.yml # .github/workflows/developer-docs-consolidator.lock.yml # .github/workflows/dictation-prompt.lock.yml # .github/workflows/docs-noob-tester.lock.yml # .github/workflows/draft-pr-cleanup.lock.yml # .github/workflows/eslint-miner.lock.yml # .github/workflows/eslint-monster.lock.yml # .github/workflows/eslint-refiner.lock.yml # .github/workflows/evoskill-evolver.lock.yml # .github/workflows/example-failure-category-filter.lock.yml # .github/workflows/example-permissions-warning.lock.yml # .github/workflows/example-workflow-analyzer.lock.yml # .github/workflows/feature-grower.lock.yml # .github/workflows/firewall-escape.lock.yml # .github/workflows/firewall.lock.yml # .github/workflows/front-page-copy-guard.lock.yml # .github/workflows/functional-pragmatist.lock.yml # .github/workflows/github-mcp-structural-analysis.lock.yml # .github/workflows/github-mcp-tools-report.lock.yml # .github/workflows/github-remote-mcp-auth-test.lock.yml # .github/workflows/glossary-maintainer.lock.yml # .github/workflows/go-fan.lock.yml # .github/workflows/go-logger.lock.yml # .github/workflows/go-pattern-detector.lock.yml # .github/workflows/gpclean.lock.yml # .github/workflows/grumpy-reviewer.lock.yml # .github/workflows/hourly-ci-cleaner.lock.yml # .github/workflows/impeccable-skills-reviewer.lock.yml # .github/workflows/instructions-janitor.lock.yml # .github/workflows/issue-arborist.lock.yml # .github/workflows/issue-triage-agent.lock.yml # .github/workflows/jsweep.lock.yml # .github/workflows/layout-spec-maintainer.lock.yml # .github/workflows/lint-monster.lock.yml # .github/workflows/linter-miner.lock.yml # .github/workflows/lockfile-stats.lock.yml # .github/workflows/mattpocock-skills-reviewer.lock.yml # .github/workflows/mcp-inspector.lock.yml # .github/workflows/mergefest.lock.yml # .github/workflows/metrics-collector.lock.yml # .github/workflows/notion-issue-summary.lock.yml # .github/workflows/objective-impact-report.lock.yml # .github/workflows/org-health-report.lock.yml # .github/workflows/outcome-collector.lock.yml # .github/workflows/pdf-summary.lock.yml # .github/workflows/plan.lock.yml # .github/workflows/poem-bot.lock.yml # .github/workflows/ponytail-reviewer.lock.yml # .github/workflows/portfolio-analyst.lock.yml # .github/workflows/pr-code-quality-reviewer.lock.yml # .github/workflows/pr-description-caveman.lock.yml # .github/workflows/pr-nitpick-reviewer.lock.yml # .github/workflows/pr-triage-agent.lock.yml # .github/workflows/prompt-clustering-analysis.lock.yml # .github/workflows/purelock.lock.yml # .github/workflows/python-data-charts.lock.yml # .github/workflows/q.lock.yml # .github/workflows/refiner.lock.yml # .github/workflows/release.lock.yml # .github/workflows/repo-audit-analyzer.lock.yml # .github/workflows/repository-quality-improver.lock.yml # .github/workflows/ruflo-backed-task.lock.yml # .github/workflows/safe-output-health.lock.yml # .github/workflows/schema-consistency-checker.lock.yml # .github/workflows/schema-feature-coverage.lock.yml # .github/workflows/scout.lock.yml # .github/workflows/security-compliance.lock.yml # .github/workflows/security-review.lock.yml # .github/workflows/semantic-function-refactor.lock.yml # .github/workflows/sergo.lock.yml # .github/workflows/sighthound-security-scan.lock.yml # .github/workflows/skillet.lock.yml # .github/workflows/slide-deck-maintainer.lock.yml # .github/workflows/smoke-agent-all-merged.lock.yml # .github/workflows/smoke-agent-all-none.lock.yml # .github/workflows/smoke-agent-public-approved.lock.yml # .github/workflows/smoke-agent-public-none.lock.yml # .github/workflows/smoke-agent-scoped-approved.lock.yml # .github/workflows/smoke-call-workflow.lock.yml # .github/workflows/smoke-checkout-pr-dispatch.lock.yml # .github/workflows/smoke-ci.lock.yml # .github/workflows/smoke-claude-on-copilot.lock.yml # .github/workflows/smoke-claude.lock.yml # .github/workflows/smoke-codex.lock.yml # .github/workflows/smoke-copilot-aoai-apikey.lock.yml # .github/workflows/smoke-copilot-aoai-entra.lock.yml # .github/workflows/smoke-copilot-arm.lock.yml # .github/workflows/smoke-copilot-auto.lock.yml # .github/workflows/smoke-copilot-mai.lock.yml # .github/workflows/smoke-copilot-sdk.lock.yml # .github/workflows/smoke-copilot-small.lock.yml # .github/workflows/smoke-copilot-sub-agents.lock.yml # .github/workflows/smoke-copilot.lock.yml # .github/workflows/smoke-create-cross-repo-pr.lock.yml # .github/workflows/smoke-drive.lock.yml # .github/workflows/smoke-github-claude.lock.yml # .github/workflows/smoke-issues.lock.yml # .github/workflows/smoke-multi-pr.lock.yml # .github/workflows/smoke-otel-backends.lock.yml # .github/workflows/smoke-project.lock.yml # .github/workflows/smoke-update-cross-repo-pr.lock.yml # .github/workflows/smoke-workflow-call-with-inputs.lock.yml # .github/workflows/smoke-workflow-call.lock.yml # .github/workflows/spec-enforcer.lock.yml # .github/workflows/spec-extractor.lock.yml # .github/workflows/spec-librarian.lock.yml # .github/workflows/squad-game-planner.lock.yml # .github/workflows/squad-implement-worker.lock.yml # .github/workflows/squad-plan.lock.yml # .github/workflows/squad.lock.yml # .github/workflows/stale-pr-cleanup.lock.yml # .github/workflows/static-analysis-report.lock.yml # .github/workflows/step-name-alignment.lock.yml # .github/workflows/technical-doc-writer.lock.yml # .github/workflows/test-quality-sentinel.lock.yml # .github/workflows/tidy.lock.yml # .github/workflows/typist.lock.yml # .github/workflows/ubuntu-image-analyzer.lock.yml # .github/workflows/uk-ai-operational-resilience.lock.yml # .github/workflows/update-astro.lock.yml # .github/workflows/visual-regression-checker.lock.yml # .github/workflows/weekly-blog-post-writer.lock.yml # .github/workflows/weekly-editors-health-check.lock.yml # .github/workflows/windows-grower.lock.yml # .github/workflows/windows.lock.yml # .github/workflows/workflow-generator.lock.yml # .github/workflows/workflow-health-manager.lock.yml # .github/workflows/workflow-normalizer.lock.yml # .github/workflows/workflow-skill-extractor.lock.yml Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot please address the current review feedback and failed checks on this PR.
Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "github.com"See Network Configuration for more information.
|
Smoke Test: Copilot Engine — Run 35223975833PR: Bump gh-aw-firewall to v0.28.20
Overall: FAIL (tests #3, #14 failed) Author: Warning Firewall blocked 7 domainsThe following domains were blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "update.googleapis.com"
- "www.google.com"
- "www.gstatic.com"See Network Configuration for more information.
|
Comment MemoryNote This comment is managed by comment memory.It stores persistent context for this thread in the code block at the top of this comment. Warning Firewall blocked 7 domainsThe following domains were blocked by the firewall during workflow execution:
To allow these domains, add them to the network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "update.googleapis.com"
- "www.google.com"
- "www.gstatic.com"See Network Configuration for more information.
|
There was a problem hiding this comment.
Smoke test: automated review pass completed with inline comments.
Warning
Firewall blocked 7 domains
The following domains were blocked by the firewall during workflow execution:
accounts.google.comandroid.clients.google.comclients2.google.comcontentautofill.googleapis.comupdate.googleapis.comwww.google.comwww.gstatic.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"
- "update.googleapis.com"
- "www.google.com"
- "www.gstatic.com"See Network Configuration for more information.
📰 BREAKING: Report filed by Smoke Copilot · copilot · auto · 57.5 AIC · ⌖ 4.1 AIC · ⊞ 10.1K
Comment /smoke-copilot to run again
Add label smoke to run again
| @@ -162,6 +162,10 @@ const AWFCloudHypervisorFilesystemAllowWriteMinVersion Version = "v0.28.6" | |||
| // config schema accepts enclaves[].agent.github.cli = "issues-read-v1". | |||
| const AWFEnclaveGitHubIssuesMinVersion Version = "v0.28.9" | |||
|
|
|||
| // AWFEnclaveAgentToolsMinVersion is the first AWF version whose | |||
There was a problem hiding this comment.
Smoke test: confirms new AWFEnclaveAgentToolsMinVersion constant is correctly documented and versioned.
| @@ -708,12 +709,16 @@ func buildAWFEnclavesConfig(config EnclavesConfig) []map[string]any { | |||
| addEnclaveInt(agent, "maxTaskBytes", enclave.Agent.MaxTaskBytes) | |||
| addEnclaveInt(agent, "maxModelRequests", enclave.Agent.MaxModelRequests) | |||
| addEnclaveInt(agent, "maxModelTokens", enclave.Agent.MaxModelTokens) | |||
| if enclave.Agent.GitHub != nil { | |||
| if githubTools := enclaveGitHubToolsConfig(enclave); githubTools != nil { | |||
There was a problem hiding this comment.
Smoke test: nice consolidation using enclaveGitHubToolsConfig to build the native agent.tools.github shape.
| # - ghcr.io/github/gh-aw-firewall/squid:0.28.18@sha256:aa812b7d111a651d7fff6e8103c9357e6ba80a1b600ef9ed47f714a97d444d0e | ||
| # - ghcr.io/github/gh-aw-firewall/agent:0.28.20 | ||
| # - ghcr.io/github/gh-aw-firewall/api-proxy:0.28.20 | ||
| # - ghcr.io/github/gh-aw-firewall/squid:0.28.20 |
There was a problem hiding this comment.
Addressed in a47d55c: the missing AWF v0.28.20 hashes were added and the lock files were recompiled. ace-editor.lock.yml now includes @sha256 firewall image references in the manifest and download step.
There was a problem hiding this comment.
Fixed in a47d55c. The AWF v0.28.20 digests for agent, api-proxy, cli-proxy, and squid are now in .github/aw/actions-lock.json and both embedded pin datasets, and after the two-pass recompile no lock file records container_pin_not_found — ace-editor.lock.yml and the other 298 files now list @sha256-pinned firewall images in both the header and the download_docker_images.sh invocations.
Merged
Both review comments are addressed in fb67723:
|
|
@copilot resolve the merge conflicts on this branch. |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…rewall-to-v02820 # Conflicts: # .github/workflows/code-scanning-fixer.lock.yml Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Addressed in a47d55c and 44fee0d: fixed the current review feedback, inspected the referenced CWI/CGO runs, ran the PR finisher flow, and refreshed the branch by merging latest
Resolved in 44fee0d: merged latest |
Status on the listed items:
Local validation on the current head passes: lint, custom Go linters, schema freshness, impacted Go tests, and the lock-file sync check. |
|
🎉 This pull request is included in a new release. Release: |
Updates the default gh-aw-firewall/AWF release from
v0.28.18tov0.28.20and reconciles the new AWF config schema surface introduced by the Cloud Hypervisor enclave configuration model.Version and schema
DefaultFirewallVersiontov0.28.20.Enclave config integration
Added
AWFEnclaveAgentToolsMinVersionfor nativeenclaves[].agent.tools.githubsupport.Updated static GitHub agent enclaves to emit the native AWF config shape:
{ "agent": { "tools": { "github": { "allowed": ["list_issues", "issue_read"], "allowedRepos": ["octo-org/private-service"], "minIntegrity": "none" } } } }Generated artifacts and release note
v0.28.20.Recompile stability
Run: https://github.com/github/gh-aw/actions/runs/35224290913
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
github.laiyagushi.comTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.
Run: https://github.com/github/gh-aw/actions/runs/35226615648
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
github.laiyagushi.comTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.