Build dashboards-validation image with go-jsonnet - #83128
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: petr-muller The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
WalkthroughThe dashboard validation image uses a Go 1.26 builder for pinned Jsonnet tools and uses CentOS Stream 10 at runtime. It removes the CentOS Stream 8 source build. ChangesDashboard validation image
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/hold |
460e130 to
07a644e
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@clusters/app.ci/supplemental-ci-images/validation-images/dashboards/dashboards-validation.yaml`:
- Around line 22-24: Update the final runtime image stage beginning with FROM
quay.io/centos/centos:stream9 to create and select an explicit non-root user,
ensuring that jb cache locations and the CI workspace are writable by that user.
Also update the associated Kubernetes/OpenShift configuration to set
securityContext.runAsNonRoot and securityContext.allowPrivilegeEscalation to
false.
- Around line 19-20: Update the tool installation commands for jb and
gojsontoyaml to replace `@latest` with reviewed, exact version tags, matching the
repository’s pinned-version convention such as jsonnet v0.21.0. Leave the
existing package paths and GOFLAGS settings unchanged.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 824c6489-8988-42bc-aa2f-4c3da284ee65
📒 Files selected for processing (1)
clusters/app.ci/supplemental-ci-images/validation-images/dashboards/dashboards-validation.yaml
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
07a644e to
206cbf8
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
The image compiles the C++ jsonnet from an unpinned clone of google/jsonnet HEAD, which is slow enough that a dashboard mixin with any non-trivial computed logic can stall both `make mixins` and the generated-dashboards presubmit that shares this image. go-jsonnet runs the whole tree in seconds and is pinned to a release, as are jb and gojsontoyaml now. The builder and base move to the newest available (Go 1.26, CentOS Stream 10) in the same change: go-jsonnet v0.22.0 requires Go >= 1.24.5, and Stream 8 is EOL with its repositories gone, so the old bases could not build this at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
206cbf8 to
e324552
Compare
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
|
[REHEARSALNOTIFIER] Note: If this PR includes changes to step registry files ( Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/hold cancel |
|
@petr-muller: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
/gtm |
The image compiles the C++ jsonnet from an unpinned clone of
google/jsonnetHEAD, which is slow enough that a mixin with any non-trivial computed logic can stall bothmake mixinsand thegenerated-dashboardspresubmit that shares this image — as happened in #83118. go-jsonnet runs the whole tree in seconds and is pinned to a release, as arejbandgojsontoyamlnow.The builder and base move to the newest available (Go 1.26, CentOS Stream 10) in the same change because the old ones cannot build this: go-jsonnet v0.22.0 requires Go >= 1.24.5 and these images ship
GOTOOLCHAIN=local, and Stream 8 is EOL with its repositories gone.Verified by building this Dockerfile and running
make -C .../mixins install allthrough it: all 19 dashboards plus the Prometheus and alertmanager outputs regenerate in ~5s, byte-identical to what is committed today.Summary by CodeRabbit
dashboards-validationimage used bymake mixinsand generated-dashboard presubmit jobs.c-builderstage name.