Repository navigation
feat(release): publish attested multi-architecture UI image - #111
Conversation
Signed-off-by: Mohit Nagaraj <mohitnagaraj20@gmail.com>
📝 WalkthroughWalkthroughThe change adds runtime API configuration served before hydration, updates client requests and streams to use it, adds container and browser smoke tests, and changes release workflows to publish verified ChangesRuntime configuration and client integration
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: 🟡 Moderate · up to The PR adds runtime API routing and attested multi-architecture release promotion, but runtime URL validation still accepts an unsafe form, pull-request CI can expose checkout credentials with broader-than-explicit token authority, and a version-tagged image is published before later verification. These bounded correctness, security, and release-state risks should be fixed or explicitly accepted before merge. Sequence Diagram(s)sequenceDiagram
participant GitHubActions
participant SmokeContainer
participant UIContainer
participant MockCore
participant ReleaseRegistry
GitHubActions->>SmokeContainer: build and test amd64 and arm64 images
SmokeContainer->>UIContainer: start image with runtime API URL
UIContainer->>MockCore: request authentication methods
MockCore-->>SmokeContainer: return successful API response
GitHubActions->>ReleaseRegistry: publish versioned multi-platform image
GitHubActions->>ReleaseRegistry: attach and verify SBOM and provenance
GitHubActions->>ReleaseRegistry: promote verified digest to latest
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Linked Issues checkExplanation The changes address issue Full details: Out of Scope Changes checkExplanation The reviewed changes are related to issue Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 17 functions across 18 files. (7 skipped: 7 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Team
Run ID: 8e696f11-650a-405a-93a8-4fab6e3f8978
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (25)
.github/scripts/mock-core.mjs.github/scripts/smoke-browser.mjs.github/scripts/smoke-container.sh.github/workflows/docker-publish.yml.github/workflows/frontend.ymlDockerfileREADME.mdapp/layout.tsxapp/runtime-config.js/route.tscomponents/auth/LoginForm.tsxcomponents/auth/RegisterForm.tsxdocs/DEVELOPMENT.mddocs/RELEASE.mdhooks/useNotificationSSE.tslib/__tests__/runtime-config.test.tslib/api.tslib/hooks/useBuildStream.tslib/hooks/useImportStream.tslib/hooks/useLogStream.tslib/hooks/useResourceStatusStream.tslib/hooks/useTerminal.tslib/hooks/useWorkflowStatusStream.tslib/runtime-config.server.tslib/runtime-config.tspackage.json
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.
Signed-off-by: Mohit Nagaraj <mohitnagaraj20@gmail.com>
All three findings were addressed in cbf5877, confirmed in-thread, and the follow-up CodeRabbit status plus all CI checks pass.
Summary
next buildlinux/amd64andlinux/arm64images on pull requests and before release publicationlatesttags and creating the GitHub ReleaseRuntime contract
The standalone server exposes a no-store
/runtime-config.jsinitialization script and loads it before hydration.NEXT_PUBLIC_API_URLis therefore read when the container runs, while existing statically generated UI routes remain static. The Docker health check validates both this configuration endpoint and the UI root.The supported OrchCLI value remains:
Release flow
main.latesttags and record it in the GitHub Release.BuildKit attestation descriptors report
unknown/unknown; platform verification filters those descriptors and requires the runnable set to be exactlylinux/amd64,linux/arm64.Verification
npm run test:run(100 tests)npm run type-checknpm run buildconcurrency.queuekeygit diff --check/auth/methodsrequestCloses #110