Skip to content

Added llmcompressor .tekton#1986

Merged
ysok merged 1 commit intored-hat-data-services:mainfrom
ysok-red-hat-data-services:rhds-jupyter-llmcompressor
Mar 24, 2026
Merged

Added llmcompressor .tekton#1986
ysok merged 1 commit intored-hat-data-services:mainfrom
ysok-red-hat-data-services:rhds-jupyter-llmcompressor

Conversation

@ysok
Copy link
Copy Markdown

@ysok ysok commented Mar 19, 2026

Added llmcompressor .tekton

Description

Added llmcompressor .tekton

How Has This Been Tested?

Self checklist (all need to be checked):

  • Ensure that you have run make test (gmake on macOS) before asking for review
  • Changes to everything except Dockerfile.konflux files should be done in odh/notebooks and automatically synced to rhds/notebooks. For Konflux-specific changes, modify Dockerfile.konflux files directly in rhds/notebooks as these require special attention in the downstream repository and flow to the upcoming RHOAI release.

Merge criteria:

  • The commits are squashed in a cohesive manner and have meaningful messages.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

@openshift-ci openshift-ci Bot requested review from ayush17 and daniellutz March 19, 2026 03:15
@ysok ysok force-pushed the rhds-jupyter-llmcompressor branch 2 times, most recently from 0c7a124 to c265fd6 Compare March 19, 2026 04:06
@jiridanek
Copy link
Copy Markdown
Member

@coderabbitai full review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 19, 2026

✅ Actions performed

Full review triggered.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 19, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 44d20826-b8de-4548-8f20-89a5cfdcef0a

📥 Commits

Reviewing files that changed from the base of the PR and between c265fd6 and 4599e19.

📒 Files selected for processing (1)
  • .tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml

📝 Walkthrough

Walkthrough

Added a new Tekton PipelineRun manifest that triggers pull-request builds for the odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312 pipeline, using CEL path filters, Konflux retrigger annotations, parameterized build inputs, prefetch sources, and workspace/secret bindings.

Changes

Cohort / File(s) Summary
Tekton PipelineRun Configuration
​.tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml
New Tekton PipelineRun manifest for PR-triggered builds: CEL-based path gating (include/exclude patterns), Konflux retrigger annotations, pipeline/task timeouts, many pipeline parameters (git URL/revision, image name/tag/labels, Dockerfile, build-args, platforms, image expiry, failure notifications), prefetch inputs for mongocli (gomod), rhds (rpm), and local pip requirements (requirements.cuda.txt), reference to central multi-arch pipeline, service account and git-auth workspace binding.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant Developer
    participant GitHost as Git Repository
    participant PAC as Pipelines-as-Code
    participant Tekton as Tekton PipelineRun
    participant Konflux as Konflux Controller
    participant Prefetch as Prefetch Sources (gomod/rpm/pip)
    participant Build as Multi-arch Build Pipeline
    participant Registry as Image Registry

    Developer->>GitHost: Open PR / push changes
    GitHost->>PAC: Send webhook (PR event)
    PAC->>Konflux: Evaluate CEL path filters
    Konflux-->>PAC: Condition passed / failed
    alt Condition passed
      PAC->>Tekton: Create PipelineRun (params, workspaces, annotations)
      Tekton->>Prefetch: Fetch dependencies (gomod, rpm, pip CUDA reqs)
      Prefetch-->>Build: Provide inputs
      Tekton->>Build: Execute multi-arch build pipeline
      Build->>Registry: Push images (multi-arch index)
      Registry-->>Build: Push confirmation
      Build-->>Tekton: TaskRun results
      Tekton->>PAC: Update run status
    else Condition failed
      PAC-->>GitHost: No PipelineRun created
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title uses past tense 'Added' instead of imperative mood, violates strict rule, lacks required ticket reference, and is overly vague. Change title to imperative mood with ticket reference: 'NO-JIRA: chore(.tekton): add llmcompressor pipeline configuration' or similar format.
Description check ⚠️ Warning Description is minimal and lacks critical details; testing section is empty with no checkboxes marked in either self-checklist or merge criteria. Fill in 'How Has This Been Tested?' with actual testing steps, mark completed self-checklist items, and provide testing instructions and verification details.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Branch Prefix Policy ✅ Passed PR title 'Added llmcompressor .tekton' complies with branch prefix policy for main branch—does not start with prohibited branch prefixes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can use your project's `ruff` configuration to improve the quality of Python code reviews.

Add a Ruff configuration file to your project to customize how CodeRabbit runs ruff.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (3)
.tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml (3)

16-21: Redundant path check in CEL expression.

Line 19 explicitly checks build-args/konflux.cuda.conf but this path is already covered by the glob pattern jupyter/pytorch+llmcompressor/ubi9-python-3.12/** on line 18. Consider removing the redundant check.

♻️ Suggested simplification
       (
         ".tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml".pathChanged() ||
         "jupyter/pytorch+llmcompressor/ubi9-python-3.12/**".pathChanged() ||
-        "jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/konflux.cuda.conf".pathChanged() ||
         "jupyter/utils/**".pathChanged()
       ) && body.repository.full_name == "red-hat-data-services/notebooks"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
@.tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml
around lines 16 - 21, The CEL trigger contains a redundant path check: remove
the explicit string literal check
"jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/konflux.cuda.conf".
Keep the glob check "jupyter/pytorch+llmcompressor/ubi9-python-3.12/**" and the
other pathChanged() calls, and ensure the final boolean expression still ANDs
with body.repository.full_name == "red-hat-data-services/notebooks"; update the
expression to eliminate the duplicate path string.

75-76: Pip prefetch architecture includes aarch64 but pipeline only builds amd64.

The binary.arch field specifies "x86_64,aarch64" for pip prefetch, but build-platforms only includes the amd64 platform. This will prefetch aarch64 dependencies unnecessarily. Consider aligning the architectures or confirm if multi-arch support is planned.

♻️ Suggested fix to align architectures
     - path: jupyter/pytorch+llmcompressor/ubi9-python-3.12
       type: pip
       binary:
-        arch: "x86_64,aarch64"
+        arch: "x86_64"
       requirements_files: ["requirements.cuda.txt"]
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
@.tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml
around lines 75 - 76, The pip prefetch config lists binary.arch as
"x86_64,aarch64" but the pipeline only builds amd64; update the YAML so the
architectures align by either removing "aarch64" from binary.arch (i.e., set
binary.arch to "x86_64") or by adding the matching aarch64 target to the
pipeline's build-platforms; look for the binary.arch key and the build-platforms
entries in the Tekton YAML and make them consistent (choose single-arch prefetch
or enable multi-arch build support).

83-84: Inconsistent template variable formatting.

The revision value uses '{{ target_branch }}' with spaces inside the braces, while other template variables in this file use the no-space format (e.g., '{{revision}}', '{{source_url}}'). While both formats may work, inconsistency can lead to maintenance confusion.

♻️ Suggested fix for consistency
     - name: revision
-      value: '{{ target_branch }}'
+      value: '{{target_branch}}'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
@.tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml
around lines 83 - 84, The template variable format for the revision value is
inconsistent: it currently uses '{{ target_branch }}' while other variables use
the no-space form (e.g., '{{revision}}', '{{source_url}}'); update the revision
value to use the consistent no-space template format (change '{{ target_branch
}}' to '{{target_branch}}' or, if the intended variable name is 'revision',
replace with '{{revision}}') so all template variables follow the same style.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
@.tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml:
- Around line 67-77: The prefetch-input block for rhds is missing a matching
generic entry; add a second entry under the prefetch-input list with the same
path "jupyter/pytorch+llmcompressor/ubi9-python-3.12/prefetch-input/rhds" but
set type: generic (mirroring the existing rpm entry) so both rpm and generic
rhds variants are present; update the prefetch-input list near the existing rhds
rpm entry to include this new generic entry.

---

Nitpick comments:
In
@.tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml:
- Around line 16-21: The CEL trigger contains a redundant path check: remove the
explicit string literal check
"jupyter/pytorch+llmcompressor/ubi9-python-3.12/build-args/konflux.cuda.conf".
Keep the glob check "jupyter/pytorch+llmcompressor/ubi9-python-3.12/**" and the
other pathChanged() calls, and ensure the final boolean expression still ANDs
with body.repository.full_name == "red-hat-data-services/notebooks"; update the
expression to eliminate the duplicate path string.
- Around line 75-76: The pip prefetch config lists binary.arch as
"x86_64,aarch64" but the pipeline only builds amd64; update the YAML so the
architectures align by either removing "aarch64" from binary.arch (i.e., set
binary.arch to "x86_64") or by adding the matching aarch64 target to the
pipeline's build-platforms; look for the binary.arch key and the build-platforms
entries in the Tekton YAML and make them consistent (choose single-arch prefetch
or enable multi-arch build support).
- Around line 83-84: The template variable format for the revision value is
inconsistent: it currently uses '{{ target_branch }}' while other variables use
the no-space form (e.g., '{{revision}}', '{{source_url}}'); update the revision
value to use the consistent no-space template format (change '{{ target_branch
}}' to '{{target_branch}}' or, if the intended variable name is 'revision',
replace with '{{revision}}') so all template variables follow the same style.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 78532427-902f-4883-8e39-cc155b8df7e4

📥 Commits

Reviewing files that changed from the base of the PR and between ba7f3e8 and c265fd6.

📒 Files selected for processing (1)
  • .tekton/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-pull-request.yaml

@jiridanek
Copy link
Copy Markdown
Member

@coderabbitai full review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 19, 2026

✅ Actions performed

Full review triggered.

@ysok ysok force-pushed the rhds-jupyter-llmcompressor branch from c265fd6 to 4599e19 Compare March 22, 2026 18:51
@ysok
Copy link
Copy Markdown
Author

ysok commented Mar 23, 2026

/retest

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Mar 24, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ide-developer
Once this PR has been reviewed and has the lgtm label, please assign atheo89 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ysok ysok merged commit 7dc545d into red-hat-data-services:main Mar 24, 2026
15 of 19 checks passed
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.

3 participants