Conversation
85fa402 to
cc69ce7
Compare
9a72ed2 to
6af39ec
Compare
There was a problem hiding this comment.
Pull request overview
This PR refactors how pipeline execution outcomes are represented by moving “pipeline runner result” data into RadixJob.Status.PipelineRunStatus, removing the prior ConfigMap-based result handoff.
Changes:
- Adds
pipelineRunStatustoRadixJobStatusand removes the legacyRadixJobResulttypes. - Updates pipeline-runner to write job result/build flags directly to the RadixJob status subresource during execution.
- Updates operator-side job condition derivation to read from
Status.PipelineRunStatus.Result(instead of a result ConfigMap) when the Kubernetes Job succeeds.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/apis/radix/v1/zz_generated.deepcopy.go | Updates generated deepcopy logic for the new RadixJobPipelineRunStatus pointer field. |
| pkg/apis/radix/v1/radixjobtypes.go | Introduces PipelineRunStatus in the RadixJob status schema and removes old result types. |
| pkg/apis/job/kubejob.go | Removes ConfigMap result parsing and derives final condition from PipelineRunStatus.Result (only on success currently). |
| pkg/apis/job/job.go | Updates the caller to use the renamed condition finder. |
| pipeline-runner/main.go | Removes result ConfigMap creation/teardown logic; runner now only executes and exits. |
| pipeline-runner/internal/runner/app.go | Adds status updates to RadixJob during pipeline execution, and removes ConfigMap result creation. |
| charts/radix-operator/templates/radixjob.yaml | Extends the CRD schema to include status.pipelineRunStatus. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| type RadixJobPipelineRunStatus struct { | ||
| UsedBuildKit bool `json:"usedBuildKit"` | ||
| UsedBuildCache bool `json:"usedBuildCache"` | ||
| Result RadixJobCondition `json:"status"` |
There was a problem hiding this comment.
In RadixJobPipelineRunStatus, the Go field is named Result but is serialized as JSON status. Since this is a new API surface, it’s likely clearer to align the field name with the JSON name (e.g., Status or Condition) or align the JSON tag with the field name, to reduce confusion for readers and API consumers.
| Result RadixJobCondition `json:"status"` | |
| Status RadixJobCondition `json:"status"` |
To avoid guesswork by operator and radix-api, the pipeline runner should own most of the RadixJob.Status field and update it as it progresses.