Skip to content

enable Konflux cache proxy for builds#3099

Open
robnester-rh wants to merge 1 commit intoconforma:mainfrom
robnester-rh:EC-1614
Open

enable Konflux cache proxy for builds#3099
robnester-rh wants to merge 1 commit intoconforma:mainfrom
robnester-rh:EC-1614

Conversation

@robnester-rh
Copy link
Contributor

Enable the cache proxy in the Tekton pipeline definitions to improve build performance by caching dependencies.

Ref: EC-1614

@qodo-code-review
Copy link
Contributor

Review Summary by Qodo

Enable Konflux cache proxy for Tekton builds

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Enable cache proxy in Tekton pipeline definitions
• Add cache proxy parameter to pull request builds
• Add cache proxy parameter to push builds
• Improve build performance through dependency caching
Diagram
flowchart LR
  A["Tekton Pipeline Definitions"] -- "add enable-cache-proxy parameter" --> B["Cache Proxy Enabled"]
  B -- "improves" --> C["Build Performance"]
  C -- "caches" --> D["Dependencies"]
Loading

Grey Divider

File Changes

1. .tekton/cli-main-pull-request.yaml ✨ Enhancement +2/-0

Enable cache proxy in pull request pipeline

• Added enable-cache-proxy parameter with value true
• Parameter placed after hermetic configuration
• Enables cache proxy for pull request builds

.tekton/cli-main-pull-request.yaml


2. .tekton/cli-main-push.yaml ✨ Enhancement +2/-0

Enable cache proxy in push pipeline

• Added enable-cache-proxy parameter with value true
• Parameter placed after hermetic configuration
• Enables cache proxy for push builds

.tekton/cli-main-push.yaml


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (1) 📎 Requirement gaps (0)

Grey Divider


Action required

1. enable-cache-proxy param undeclared 📘 Rule violation ✓ Correctness
Description
• The PipelineRun sets enable-cache-proxy in spec.params, but the inline pipelineSpec.params
  section does not declare a parameter with that name.
• Tekton validation/tekton-lint commonly fails when a PipelineRun passes params that are not
  defined by the referenced Pipeline/PipelineSpec, which can cause make lint to fail and prevent the
  PipelineRun from starting.
• Declare enable-cache-proxy under pipelineSpec.params (and, if intended, forward it into the
  relevant build task params), or remove the extra param from spec.params.
Code

.tekton/cli-main-pull-request.yaml[R43-44]

+  - name: enable-cache-proxy
+    value: "true"
Evidence
Compliance requires Tekton changes to pass tekton-lint. In .tekton/cli-main-pull-request.yaml,
enable-cache-proxy is added to the PipelineRun’s spec.params, but the inline
pipelineSpec.params list (where valid params are declared) does not include enable-cache-proxy,
indicating the PipelineRun is passing an undeclared parameter that is likely to fail
lint/validation.

AGENTS.md
.tekton/cli-main-pull-request.yaml[41-45]
.tekton/cli-main-pull-request.yaml[52-90]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`.tekton/cli-main-pull-request.yaml` sets a PipelineRun param `enable-cache-proxy`, but the inline `pipelineSpec.params` does not declare this param. This can cause Tekton validation/tekton-lint failures.

## Issue Context
Because this is an inline `pipelineSpec`, the params used in `spec.params` should be declared in `pipelineSpec.params`, and (if intended to have an effect) forwarded into the task(s) that implement cache-proxy behavior.

## Fix Focus Areas
- .tekton/cli-main-pull-request.yaml[43-44]
- .tekton/cli-main-pull-request.yaml[52-90]
- .tekton/cli-main-pull-request.yaml[212-245]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@codecov
Copy link

codecov bot commented Feb 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

❗ There is a different number of reports uploaded between BASE (c379186) and HEAD (93e3a2b). Click for more details.

HEAD has 3 uploads less than BASE
Flag BASE (c379186) HEAD (93e3a2b)
unit 1 0
generative 1 0
integration 1 0
Flag Coverage Δ
acceptance 55.48% <ø> (+<0.01%) ⬆️
generative ?
integration ?
unit ?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 103 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Enable the cache proxy in the Tekton pipeline definitions to improve
build performance by caching dependencies.

Ref: EC-1614
Signed-off-by: Rob Nester <rnester@redhat.com>
@robnester-rh
Copy link
Contributor Author

/review

@qodo-code-review
Copy link
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Type Mismatch

The new enable-cache-proxy parameter is defined as a string with default "true" and then forwarded into the task env var ENABLE_CACHE_PROXY. Confirm the downstream task logic expects a string (vs boolean) and handles values consistently (e.g., "true"/"false"), otherwise the flag may be ignored or misinterpreted.

- default: "true"
  description: Enable cache proxy
  name: enable-cache-proxy
  type: string
Wiring Validation

The new ENABLE_CACHE_PROXY environment variable is wired from $(params.enable-cache-proxy). Verify that the referenced task(s) actually consume ENABLE_CACHE_PROXY (correct name and scope) and that enabling the cache proxy doesn’t change behavior for multi-arch builds unexpectedly (e.g., cache correctness across platforms).

- name: ENABLE_CACHE_PROXY
  value: $(params.enable-cache-proxy)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant