fix(ci): registry login for chart attestation; tolerate gha cache export errors - #1300
Conversation
…ort errors The "Attest chart provenance" step added in constructorfabric#1298 failed on main with "No credentials found for registry ghcr.io": helm registry login writes to helm's own config, while attest-build-provenance (push-to-registry: true) reads Docker credentials. Add docker/login-action to publish-chart before the attest step, mirroring the image jobs. Because that failure aborted publish-chart before "Commit version bumps back to main", the appVersion bumps from the attested backend rebuilds were lost (chart 0.1.53 was pushed unattested; main still pins the pre-attestation backend tags). Refresh the rebuild markers in the three backend Dockerfiles so the merge of this PR rebuilds + attests the services again and publish-chart re-publishes the umbrella with attested pins — and this time attests and commits back. Also set ignore-error=true on every cache-to: type=gha export: the GitHub Actions cache backend produced three spurious job failures in three days (504 on toolbox, not_found on jira-enrich, 504 on analytics-api). Cache export is an optimization — by that point the image is already built and pushed; a flaky cache service must not fail the job or block chart publication. cache-from already tolerates an unavailable cache. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Roman Mitasov <Roman.Mitasov@constructor.tech>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe pull request adds cache-write error tolerance to Docker builds across five image pipelines (api-gateway, analytics-api, identity, toolbox, and matrix-driven connectors) by extending ChangesBuild cache and chart provenance fixes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Tools execution failed with the following error: Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error) Comment |
What broke
The merge run of #1298 (run 27353068335) failed twice:
backend-analytics-api— GHA cache backend 504 during layer-blob write (third spurious cache failure in three days). Recovered by re-run.publish-chart→ Attest chart provenance —No credentials found for registry ghcr.io.helm registry loginwrites to helm's own config;attest-build-provenancewithpush-to-registry: truereads Docker credentials, which nothing in that job ever provided. Image jobs were unaffected (they rundocker/login-action).Fallout of (2): the job aborted before "Commit version bumps back to main" — chart
0.1.53was pushed unattested, and main still pins all backend appVersions to the pre-attestation tag2026.06.09.10.55-9ef2224.Fix
docker/login-actioninpublish-chartbefore the attest step.api-gateway/analytics-api/identity, andpublish-chartre-publishes0.1.53(recomputed from main's0.1.52) with attested backend pins, attests the chart digest, and commits the bumps back.ignore-error=trueon everycache-to: type=ghaexport — cache export is an optimization; by that point the image is already built and pushed. A flaky cache service must not fail the job (and with it the whole publish chain).cache-fromalready tolerates cache unavailability.Verify after merge
Known-red: Run E2E suite (pre-existing
cost_centsmigration mismatch, tracked separately).🤖 Generated with Claude Code
Summary by CodeRabbit