chore(ci): remove stale public-api from build and deploy workflows#870
chore(ci): remove stale public-api from build and deploy workflows#870
Conversation
The public-api component is no longer used. Remove it from change detection, build matrix, image tagging, and kustomize pinning in both the stage and production release workflows. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
WalkthroughThis PR removes all references to the public-api component from two CI/CD workflow files. Changes include excluding public-api from build matrices, image tagging, Dockerfile paths, deployment conditions, and kustomize image updates across component build/deploy and production release workflows. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 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.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/components-build-deploy.yml (1)
276-279:⚠️ Potential issue | 🟠 MajorRemove public-api from production deployment or manage its release cycle separately.
The production overlay will deploy public-api because:
- Line 14 includes
../../base, which containspublic-api-deployment.yaml(base/kustomization.yaml:15)- Line 18 explicitly includes
public-api-route.yaml- Lines 110-115 override the image to use unpinned
latesttag with pull policyAlwaysThis means
oc apply -k .will continuously deploy public-api with an unpinned tag that is never updated by the build workflow, leaving it stale in production.Either remove public-api from the base kustomization (line 15) and production route resource (line 18), or establish a separate release process for public-api image builds (currently lines 193-197 in Makefile still reference it).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/components-build-deploy.yml around lines 276 - 279, The production overlay currently deploys public-api via components/manifests/overlays/production (oc apply -k .) because the base kustomization includes public-api-deployment.yaml and the production overlay includes public-api-route.yaml, and image overrides use an unpinned "latest" tag with imagePullPolicy: Always; remove public-api from the base kustomization and from the production overlay (remove public-api-deployment.yaml and public-api-route.yaml references) OR implement a separate release process for public-api (pin image tags in the production overlay kustomize imageTransformer or kustomization.yaml and change imagePullPolicy to IfNotPresent/Always only when appropriate), and update the Makefile references to public-api so the build workflow no longer assumes production auto-deploys that image.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In @.github/workflows/components-build-deploy.yml:
- Around line 276-279: The production overlay currently deploys public-api via
components/manifests/overlays/production (oc apply -k .) because the base
kustomization includes public-api-deployment.yaml and the production overlay
includes public-api-route.yaml, and image overrides use an unpinned "latest" tag
with imagePullPolicy: Always; remove public-api from the base kustomization and
from the production overlay (remove public-api-deployment.yaml and
public-api-route.yaml references) OR implement a separate release process for
public-api (pin image tags in the production overlay kustomize imageTransformer
or kustomization.yaml and change imagePullPolicy to IfNotPresent/Always only
when appropriate), and update the Makefile references to public-api so the build
workflow no longer assumes production auto-deploys that image.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: ea01d0dc-99a6-4e09-937f-df591bc1eff5
📒 Files selected for processing (2)
.github/workflows/components-build-deploy.yml.github/workflows/prod-release-deploy.yaml
Claude Code ReviewSummaryPR 870 removes stale public-api references from two CI/CD workflow files (components-build-deploy.yml and prod-release-deploy.yaml). The changes are internally consistent and the CI/CD cleanup is executed correctly — all trigger paths, change-detection outputs, build matrix entries, deploy conditions, and image-tag overrides are removed in both files. However, the Kustomize manifests still fully declare and deploy the public-api component, creating a meaningful disconnect between CI/CD and the actual deployed workload. Issues by SeverityBlocker IssuesNone Critical IssuesNone Major Issues1. Kustomize manifests still deploy public-api — image will no longer be updated The public-api component is removed from CI/CD but the Kustomize manifests still include it in every overlay:
Before this PR the deploy workflow applied a kustomize edit set image command to pin vteam_public_api to the current commit SHA. After this PR that line is gone, so public-api will continue to be deployed on every production push using whatever tag was last written into the overlay — potentially a stale or latest tag — while no new image is ever built. Required resolution (pick one):
This is Major rather than Blocker because the running pod itself keeps serving (stale image, no crash), but it creates a real maintenance gap: security patches to public-api can no longer be shipped automatically. Minor Issues1. CLAUDE.md still lists public-api as an active component CLAUDE.md line 15 describes components/public-api/ as an active component. If this component is deprecated, the documentation should be updated to reflect that. 2. PR test-plan item not verified The test plan includes an unchecked item: "Confirm no other workflows reference public-api". This is verifiable (a search confirms no remaining references in .github/workflows/) but should be checked off before merge to signal explicit validation. Positive Highlights
Recommendations
Review performed by Claude Code using repository-specific standards from the Amber memory system. 🔍 View AI decision process (logs available for 90 days) 📋 View memory system files loaded (click to expand)What Amber Loaded for Code ReviewAmber automatically loaded these repository standards from the memory system:
Impact: This review used your repository's specific code quality standards, security patterns, and best practices from the memory system (PRs #359, #360) - not just generic code review guidelines. |
|
hold until the new API is fully functional |
Review Queue — Not Ready to Merge@markturansky requested to hold this PR until the new API is fully functional (comment from March 10). The PR correctly removes public-api from CI/CD workflows, but the Kustomize manifests still reference it, which means the deployed image won't receive updates. CI is passing and there are no merge conflicts, but this is a coordination issue — we're removing the old API from builds before the new replacement is production-ready. To unblock: @markturansky needs to confirm the new API is ready and lift the hold request. |
Summary
public-apireferences fromcomponents-build-deploy.ymlandprod-release-deploy.yamlTest plan
🤖 Generated with Claude Code