Skip to content

gh-aw-firewall images emitted tag-only in v0.82.2 lock files (regression of #38561) #43307

Description

@strawgate

Hey team — flagging that the firewall digest-pinning fix from #38561 seems to have regressed in v0.82.2 (and now covers a fourth image too).

What I'm seeing

Compiling with gh aw v0.82.2 in my repo produces .lock.yml files where the four gh-aw-firewall/* images have "image" set but no "digest" / "pinned_image":

"containers":[
  {"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22"},
  {"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22"},
  {"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22"},
  {"image":"ghcr.io/github/gh-aw-mcpg:v0.3.32","digest":"sha256:63e46b5...","pinned_image":"...@sha256:..."},
  {"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02e...","pinned_image":"...@sha256:..."},
  {"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564d...","pinned_image":"...@sha256:..."}
]

gh-aw-mcpg, gh-aw-node, and github-mcp-server are properly SHA-pinned; the four gh-aw-firewall/* images (agent, api-proxy, cli-proxy — new in v0.82 — and squid) are tag-only. Same shape as #38561 described for v0.79.4.

What's interesting

gh-aw's own compiled workflows in this repo have all four firewall images fully SHA-pinned:

"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588..."
"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff91..."
"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22","digest":"sha256:e23e1604..."
"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2..."

(sourced from daily-model-resolution.lock.yml).

So the CLI knows how to produce pinned output; something specific to consumer compiles is dropping the digests. Consistent with #38561's diagnosis that applyContainerPins needs the firewall images in an embedded-pins table and v0.82.x may have missed refreshing that for the current 0.27.22 tag (plus the new cli-proxy image).

Environment

  • gh aw v0.82.2 (installed via gh extension install github/gh-aw --pin v0.82.2)
  • macOS local compile (no ambient ghcr.io auth beyond gh auth)
  • Firewall image tag 0.27.22, mcpg v0.3.32 — all fetched pins should be current

Workaround for now

Manually patching digests into the lock files works but doesn't survive the next gh aw compile. So consumers on v0.82.2 currently ship with reduced pinning for the four firewall images.

Happy to help test a fix or provide more detail — thanks!

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions