Skip to content

v1.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Jul 05:57
f1fa4f0

Container images

Pin these immutable multi-arch index digests (not the floating v1.2.0 tag):

  • gmcghcr.io/actions-gateway/gmc@sha256:6b7efbfe3dfb8d2554445a2e8b122a48cae2cac393d6e388d84c0c97a08bc0a5
  • agcghcr.io/actions-gateway/agc@sha256:18709aef55710f5ac4195a3f0f9129671bb752f6484807c782fa12994569bbcf
  • proxyghcr.io/actions-gateway/proxy@sha256:4c21daad767f21f164b194d4b77b7add0f06a53e290704cfefe227a70147ca0e
  • workerghcr.io/actions-gateway/worker@sha256:67d3cbc581c4ec1f6aaf3e3d028ffbc46cb7d524f506332f44a8b547913d1bf3
  • wrapperghcr.io/actions-gateway/wrapper@sha256:396e9625cc3e1e253848535f16b74c4e3d730adc8717fe631a74eeea81390061

Verify

Verify every image + chart signature and the SLSA build provenance:

make verify-release VERSION=v1.2.0

What's Changed

  • docs(plan): file the release-friction-reduction plan (Q293-Q296) by @karlkfi in #602
  • docs(status): remove Q278 (v1.1.0 pre-GA dogfood gate done) by @karlkfi in #603
  • docs: close Q242 — G.1 proxy destination allowlist shipped, archive its plan by @karlkfi in #604
  • feat(scripts): teardown-safe live-validation harness for Q243 egress-IP pinning by @karlkfi in #605
  • ci: make the CI quality gates requireable via always-running summary gates (Q297) by @karlkfi in #606
  • feat(scheduling): PodScheduling topologySpreadConstraints + infra-gated priorityClassName (Q284) by @karlkfi in #607
  • ci: give each CI gate job a unique, individually-requireable id (Q297) by @karlkfi in #609
  • test(gmc-e2e): fix manager-metrics curl-pod flake (Q299) by @karlkfi in #608
  • docs: mark Q297 complete — CI gate contexts now required by @karlkfi in #610
  • ci(publish): make publish.yml own the whole GitHub Release (Q293) by @karlkfi in #611
  • fix(e2e): unthrottle kindnetd — kind's 100m CPU limit starves the in-band netpol enforcer (Q300) by @karlkfi in #612
  • docs(claude): plan-doc findings must trail evidence — no conclusion-shaped drafts by @karlkfi in #614
  • docs(status): move shipped-fix flakes (Q291/Q299/Q300) to Flake watch by @karlkfi in #613
  • build(e2e): write the JUnit report to repo-local tmp/, not /tmp by @karlkfi in #615
  • fix(e2e): drain tenant namespaces before undeploy so finalizers clear (Q301) by @karlkfi in #616
  • docs(release): correct dogfood gate steps + narrow Calico path filter (Q296) by @karlkfi in #617
  • fix(dogfood): preserve RunnerTemplate runner image on setup.sh re-run (Q295) by @karlkfi in #618
  • feat(dogfood): one-command pre-GA release-validation gate wrapper (Q294) by @karlkfi in #619
  • fix(validate-egress-ip): close Q243 — per-tenant egress-IP live PASS + harness fixes by @karlkfi in #620
  • fix(coverage): mktemp into repo-local tmp/ with a cleanup trap by @karlkfi in #621
  • docs(status): file Q302 proxy mTLS listener-bind flake (flakes-first) by @karlkfi in #622
  • test(proxy): de-flake s.ready bind wait under cover-check (Q302) by @karlkfi in #623
  • docs(status): file usability-audit backlog Q303–Q310 + fix v2 AGCAvailable reason (Q309) by @karlkfi in #624
  • docs(plan): Kata plan refinements — local-validation limits + two-variant dogfood arch (Q286) by @karlkfi in #625
  • docs(status): file operability-audit backlog Q311–Q318 (monitoring-surface gaps) by @karlkfi in #626
  • docs(status): structure the v1-sunset→v2-only epic (Progress milestone + Q264/Q273 reframe + §5a ladder) by @karlkfi in #627
  • docs(status): add v1-sunset→v2-only Progress milestone + reframe Q273 as blocked by @karlkfi in #628
  • feat(monitoring): alert on page/alert-worthy metrics with no rule (Q312) by @karlkfi in #629
  • feat(chart): fail all four image digests at helm render time (Q307) by @karlkfi in #630
  • feat(agc): surface v2 RunnerSet worker-capacity conditions (Q303) by @karlkfi in #632
  • feat(migrate): wrong-cluster guards + ship gag-migrate as a signed release artifact (Q306) by @karlkfi in #631
  • docs(status): remove orphaned Q307 Queue row (shipped in #630) by @karlkfi in #633
  • feat(monitoring): add runbook_url to every shipped alert (Q313) by @karlkfi in #635
  • feat(observability): emit build_info version gauge from GMC, AGC, proxy (Q318) by @karlkfi in #634
  • feat(agc): set Ready=False on v2 RunnerSet's silent classic-path failures (Q308) by @karlkfi in #636
  • feat(gmc): v2 ActionsGateway RunnerSetsDegraded child-health rollup (Q304) by @karlkfi in #637
  • feat(observability): wire proxy_connect_denied_total as an SSRF/egress-denial signal (Q316) by @karlkfi in #638
  • feat(gmc): emit Events from the v2 ActionsGateway and EgressProxy reconcilers (Q305) by @karlkfi in #639
  • feat(gmc): v2-aware GMC gauges + EgressProxy proxy conditions (Q320) by @karlkfi in #640
  • fix(gmc): reject GitHub-bypassing noProxyCIDRs on the v2 EgressProxy by @karlkfi in #641
  • docs: v1<->v2 gap analysis — API surface + controller behavior (files Q322-Q329) by @karlkfi in #642
  • feat(gmc): add spec.logLevel to the v2 EgressProxy (Q327, v1 parity) by @karlkfi in #646
  • fix(gmc): close the v2 noProxyCIDRs GHES admission gap (Q322) by @karlkfi in #645
  • fix(v2): wire TemplateDeleted/ProxyDeleted and complete the v2 condition vocabulary (Q309) by @karlkfi in #649
  • docs(status): revive Q302 — s.ready bind-wait flake recurred, back to top of Queue by @karlkfi in #650
  • feat(gmc): fail-closed v2 ActionsGateway teardown + serialized reconciles (Q328) by @karlkfi in #648
  • fix(v2): ResourceQuota watch on EgressProxy/RunnerSet + FQDN-mode requeue (Q326) by @karlkfi in #647
  • test(proxy): unmask listener bind errors and drop wall-clock bind waits (Q302) by @karlkfi in #651
  • feat(dogfood): build the Kata e2e worker overlay + variant knob (Q286) by @karlkfi in #652
  • docs(status): add Q331 — strip Apache file headers + lint gate by @karlkfi in #654
  • chore(tools): drop stale kustomize vestiges (Helm-only install path) by @karlkfi in #655
  • fix(gmc): restore three dropped v1 admission guards on the v2 surface (Q323) by @karlkfi in #653
  • docs(dogfood): record the embedded-kustomize decision + revisit trigger by @karlkfi in #656
  • fix(agc): surface ScaleSet listener session-failure conditions/events (Q325) by @karlkfi in #657
  • fix(e2e): make the Vault workload-identity suite Kata-compatible (no IPC_LOCK) by @karlkfi in #658
  • feat(dogfood): flip e2e default to Kata after live AC#5 green (Q286) by @karlkfi in #659
  • docs+rbac: clear v1↔v2 gap-analysis minor cleanups (Q329) by @karlkfi in #660
  • fix(monitoring): scope tenant dashboard proxy panels to $namespace (Q314) by @karlkfi in #661
  • feat(monitoring): scale-set acquisition-tier observability surfaces (Q311) by @karlkfi in #662
  • feat(monitoring): tenant dashboard panels for unvisualized counters (Q315) by @karlkfi in #663
  • feat(gmc): export v2 ActionsGateway condition gauges (Q321) by @karlkfi in #666
  • fix(gmc): roll up listener-pushed RunnerSet impairments into RunnerSetsDegraded (Q330) by @karlkfi in #664
  • docs(observability): bring quota_retries metrics to eviction-retry parity (Q317) by @karlkfi in #665
  • fix(monitoring): resolve tenant dashboard gridPos overlap from Q315 merge by @karlkfi in #667
  • docs(monitoring): refresh dashboard screenshots for Q311 scale-set panels by @karlkfi in #669
  • fix(scaleset): deregister stale runner record on name conflict (Q334) by @karlkfi in #668
  • docs(status): add Q336-Q343 from session-friction/token-cost review by @karlkfi in #670
  • docs(monitoring): fuller, livelier dashboard preview screenshots by @karlkfi in #671
  • docs(status): defer Q344 (scaleset list/prune tooling) by @karlkfi in #672
  • docs(dev): promote session-learned gotchas into durable docs by @karlkfi in #673
  • docs(status): complete Q314 (orphaned row after sibling merge) by @karlkfi in #674
  • docs(testing): Q343 measured — worktree lint/build caches are already shared by @karlkfi in #675
  • build(deps): bump the docker-base group across 5 directories with 2 updates by @dependabot[bot] in #643
  • build(deps): bump updatecli/updatecli-action from 3.3.0 to 3.4.0 in the actions group by @dependabot[bot] in #644
  • fix(listener): clear failure conditions on recovery (Q332) by @karlkfi in #676
  • feat(agc): wake reconciler on pushed conditions/events (Q333) by @karlkfi in #677
  • docs(testing): codify no-foreground-poll + slow-tier timeout rules (Q339) by @karlkfi in #678
  • docs(plan): archive shipped q264 scale-set phases, keep residual (Q337) by @karlkfi in #679
  • docs(operations): restructure observability.md for selective reading (Q338) by @karlkfi in #680
  • docs(plan): split gke-dogfood runbook from archived findings (Q336) by @karlkfi in #681
  • feat(dogfood): make Athens cache PVC optional, ephemeral by default by @karlkfi in #682
  • docs: trim CLAUDE.md hooks/testing sections to pointers (Q340) by @karlkfi in #683
  • docs(dev): migrate dispatch self-heal contract to pr-sentinel (Q346) by @karlkfi in #684
  • docs(status): add Q347 go-throttle compound-form rewrite by @karlkfi in #685
  • docs: defer Q348 — re-trim CLAUDE.md as guard-plugin fixes land by @karlkfi in #686
  • chore: remove scaffolded Apache per-file license headers, gate against return (Q331) by @karlkfi in #687
  • refactor(agc): split oversized goroutine.go and provisioner.go (Q341) by @karlkfi in #689
  • fix(hooks): go-throttle rewrites compound -race forms instead of blocking (Q347) by @karlkfi in #688
  • docs(status): file e2e SkippedJobIsRedeliveredAfterCapacityFrees flake (Q349) by @karlkfi in #690
  • test(e2e): gate redelivery wait on HPA scaling-active to fix flake (Q349) by @karlkfi in #692
  • docs: retire stale go-throttle compound recipe post-Q347 (Q348) by @karlkfi in #693
  • test(agc): lint v2alpha1/v2beta1 conditions.go byte-sync (Q345) by @karlkfi in #691
  • fix(dogfood): scale system pool for the e2e window so on-demand AGC fits (Q335) by @karlkfi in #694
  • feat(gmc): scrapable v2 EgressProxy metrics with mTLS + ServiceMonitor (Q324) by @karlkfi in #695
  • feat(dogfood): script recurring e2e ops into lifecycle scripts (Q342) by @karlkfi in #696

Full Changelog: v1.1.0...v1.2.0