test "kustomize build" for overlays before merge#841
Conversation
cc9062b to
33f30f1
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
I decided to go with a hard-coded overlay list because we should not be changing those without notice. Several things depend on them (ie make files, other GHA workflows, etc) |
5b354e1 to
d2aceb6
Compare
|
PR 841 adds kustomize-check.yml CI workflow. Review below. BLOCKER: None. CRITICAL: None. MAJOR: None. MINOR 1 - Non-deterministic oc version (.github/workflows/kustomize-check.yml:18): oc: latest picks up new releases silently on each run. A future oc version changing kustomize behavior could break CI without any manifest change. Pin to a specific version (e.g. 4.17) for reproducible builds. MINOR 2 - Floating action tag (.github/workflows/kustomize-check.yml:16): redhat-actions/openshift-tools-installer@v1 is a mutable tag. Pin to an immutable commit SHA for supply-chain hygiene. Standard: security-standards.md. POSITIVE HIGHLIGHTS: RECOMMENDATIONS: (1) Pin oc to a specific version. (2) Pin installer action to a commit SHA. Both minor. PR is ready to merge. -- Review by Claude Code (Amber review system) |
This comment has been minimized.
This comment has been minimized.
|
test body no special chars |
|
Claude Code Review -- PR 841 kustomize-check.yml SUMMARY: PR 841 adds a GitHub Actions workflow to validate kustomize build for all five deployment overlays (production, e2e, kind, kind-local, local-dev). This closes a real CI gap where three overlays had no automated syntax checking. Functionally correct, but several inconsistencies with repo conventions should be addressed. BLOCKER ISSUES: None CRITICAL ISSUES: None MAJOR ISSUES:
MINOR ISSUES:
POSITIVE HIGHLIGHTS:
RECOMMENDATIONS (priority order):
Review performed by Claude Code using repository standards from the Amber memory system. |
Ambient Code PlatformKubernetes-native AI automation platform that orchestrates agentic sessions through containerized microservices. Built with Go (backend, operator), NextJS + Shadcn (frontend), Python (runner), and Kubernetes CRDs.
Structure
Key Files
Session FlowCommandsmake build-all # Build all container images
make deploy # Deploy to cluster
make test # Run tests
make lint # Lint code
make kind-up # Start local Kind cluster
make test-e2e-local # Run E2E tests against KindPer-Component# Backend / Operator (Go)
cd components/backend && gofmt -l . && go vet ./... && golangci-lint run
cd components/operator && gofmt -l . && go vet ./... && golangci-lint run
# Frontend
cd components/frontend && npm run build # Must pass with 0 errors, 0 warnings
# Runner (Python)
cd components/runners/ambient-runner && uv venv && uv pip install -e .
# Docs
cd docs && npm run dev # http://localhost:4321Critical Context
Pre-commit HooksThe project uses the pre-commit framework to run linters locally before every commit. Configuration lives in Installmake setup-hooksWhat RunsOn every
On every
Run Manuallymake lint # All hooks, all files
pre-commit run gofmt-check --all-files # Single hook
pre-commit run --files path/to/file.go # Single fileSkip Hooksgit commit --no-verify # Skip pre-commit hooks
git push --no-verify # Skip pre-push hooksNotes
Testing
More InfoSee BOOKMARKS.md for architecture decisions, development context, code patterns, and component-specific guides. |
|
Deleting test comments - please ignore the previous 3 comments on this PR. |
Three of our five overlays (kind, kind-local, local-dev) had no CI validation. They can easily break silently if we change something in shared base resources. Add basic syntax checking. Closes #840 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Match patterns used by other workflows: checkout@v6, concurrency group, workflow_dispatch trigger, and self-referencing paths filter. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
af25ec3 to
d748c83
Compare
Claude Code ReviewSummaryThis PR adds a new GitHub Actions workflow to validate Issues by SeverityBlocker IssuesNone Critical IssuesNone Major IssuesKustomize error output is suppressed, making failures undiagnosable in CI
if oc kustomize "components/manifests/overlays/$overlay" > /dev/null; thenRedirecting stdout to Suggested fix: for overlay in production e2e kind kind-local local-dev; do
echo "=== $overlay ==="
if oc kustomize "components/manifests/overlays/$overlay"; then
echo "OK"
else
echo "FAILED"
failed=1
fi
echo ""
doneRemoving the redirect lets kustomize output stream directly to the CI log, which is suppressed on success anyway (GitHub Actions collapses passing step output) and visible when the step fails. Minor Issues
oc: latestUsing Positive Highlights
Recommendations
🔍 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. |
Claude Code ReviewSummaryThis PR adds a GitHub Actions workflow to validate Issues by SeverityBlocker IssuesNone. Critical IssuesNone. Major Issues1. Using Suggested fix: - name: Install oc
uses: redhat-actions/openshift-tools-installer@v1
with:
oc: "4.17" # pin to the version the project currently targets2. Hardcoded overlay list will silently miss future overlays The loop hardcodes Suggested fix — discover overlays dynamically: for overlay in components/manifests/overlays/*/; do
overlay_name=$(basename "$overlay")
echo "=== $overlay_name ==="
if oc kustomize "$overlay" > /dev/null; thenMinor Issues1. No explicit GitHub Actions security best practice is to declare minimal explicit permissions. A read-only kustomize check only needs permissions:
contents: read2. Double-run on PR branches With both push:
branches:
- main
paths:
- components/manifests/**
- .github/workflows/kustomize-check.ymlPositive Highlights
Recommendations
🔍 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. |
Three of our five overlays (
kind,kind-local,local-dev) had no CI validation. They can easily break silently if we change something in shared base resources.Add basic syntax checking.
Closes #840