fix(ci): scope model-discovery PR to only include models.json#912
fix(ci): scope model-discovery PR to only include models.json#912
Conversation
Replace QEMU-emulated cross-compilation with native per-architecture builders (ubuntu-latest for amd64, ubuntu-24.04-arm for arm64) and a manifest merge step. This eliminates SIGILL crashes caused by QEMU's incomplete instruction emulation and builds both arches in parallel for faster CI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Instead of starting jobs for all components and skipping steps inside, detect-changes now outputs a JSON matrix of only the components that need building. Unchanged components don't appear as jobs at all, making the Actions UI much clearer about what actually built. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add missing permissions block to merge-manifests in prod-release-deploy - Add fail-fast: false to merge-manifests strategy in both workflows - Document arch-suffixed tag accumulation as known trade-off Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add sync comment on arch suffixes that must match merge-manifests - Remove cache-to on PR builds to avoid evicting main-branch cache - Revert cosmetic backend banner change (CI trigger workaround) - Fix inconsistent 3-space job indent in prod-release-deploy.yaml Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add comment in merge-manifests step pointing back to the build job's arch matrix where the -amd64/-arm64 suffixes are defined. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The public-api component still exists in the repo and should continue to be built. It was removed from the deploy steps intentionally but should not have been removed from the build/merge-manifests matrix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix dispatch input description: claude-runner → ambient-runner to match the matrix entry name, preventing silent no-ops on dispatch - Add public-api to deploy-to-openshift: output detection, image tag determination, and kustomize set image (was built but never deployed) - Make deploy-with-dispatch conditional: only update operator env vars and agent registry ConfigMap for components that were actually built, preventing references to non-existent SHA tags - Make prod release deploy component-aware: iterate built components instead of unconditionally setting all image tags, preventing partial releases from referencing non-existent release tags Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The create-pull-request action commits all workspace changes by default, which caused the GCP WIF credentials file to be included in the PR. Scope both the diff check and add-paths to only the models manifest. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
Cache: Disabled due to data retention organization setting Knowledge base: Disabled due to data retention organization setting WalkthroughThree GitHub Actions workflow files are restructured to implement component-driven build matrices with multi-architecture support. The workflows introduce dynamic component detection, matrix-based parallel builds for multiple architectures, a new merge-manifests job for multi-arch image handling, and conditional deployment logic based on detected/built components. Changes
Sequence DiagramsequenceDiagram
participant GHA as GitHub Actions
participant DC as detect-changes Job
participant BCM as Build Component Matrices
participant BAP as build-and-push Job<br/>(matrix: arch × component)
participant MM as merge-manifests Job
participant DO as deploy-to-openshift Job
GHA->>DC: Trigger workflow
DC->>BCM: Compute ALL_COMPONENTS<br/>Filter by selection/force-build
BCM-->>DC: Output BUILD_MATRIX<br/>MERGE_MATRIX<br/>HAS_BUILDS
DC->>BAP: Dispatch matrix<br/>(arch: amd64, arm64)<br/>per-component
par Multi-arch builds
BAP->>BAP: Build & push with<br/>arch suffix tags<br/>(-amd64, -arm64)
end
BAP-->>MM: Build results
MM->>MM: Create multi-arch<br/>manifests per component<br/>using manifest tool
MM-->>DO: Manifest outputs
DO->>DO: Detect built components
DO->>DO: Conditionally update<br/>images & registries<br/>only for built components
DO->>DO: Apply stage/latest tags
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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 |
Summary
add-pathstocreate-pull-requestso onlymodels.jsonis committed (prevents GCP WIF credentials file from leaking into the PR)models.jsonso transient workspace files don't trigger false positivesSee #911 for the PR where the credentials file was accidentally included.
Test plan
models.json🤖 Generated with Claude Code