Skip to content

Conversation

@slimreaper35
Copy link
Member

Maintainers will complete the following section

  • Commit messages are descriptive enough
  • Code coverage from testing does not decrease and new code is covered
  • Docs updated (if applicable)
  • Docs links in the code are still valid (if docs were updated)

Note: if the contribution is external (not from an organization member), the CI
pipeline will not run automatically. After verifying that the CI is safe to run:

@coderabbitai
Copy link

coderabbitai bot commented Aug 29, 2025

📝 Walkthrough

Walkthrough

The PipelineRun in .tekton/release.yaml changes the fetch-repository task reference from a named taskRef (git-clone) to a bundles resolver with params specifying the task name, bundle image (with digest), and kind. No other parts of the file are modified.

Changes

Cohort / File(s) Summary
Tekton pipeline task resolution update
\.tekton/release.yaml``
Replaced taskRef name: git-clone with a bundles resolver and params (name=git-clone, bundle image with sha256, kind=task) for the fetch-repository task in pipelineSpec.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant PR as PipelineRun
  participant PS as pipelineSpec
  participant R as Resolver (bundles)
  participant B as Bundle Image (task-git-clone@sha256:...)
  participant T as Task (git-clone)
  
  PR->>PS: Start fetch-repository
  PS->>R: Resolve task via bundles (name=git-clone, kind=task, bundle=...)
  R->>B: Fetch task definition
  B-->>R: Return task payload
  R-->>PS: Resolved task spec
  PS->>T: Execute git-clone task
  T-->>PS: Task results
  PS-->>PR: Continue pipeline
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

‼️ IMPORTANT
Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged.

  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbit in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbit in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbit gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbit read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbit help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbit ignore or @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbit summary or @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbit or @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@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: 0

🧹 Nitpick comments (5)
.tekton/release.yaml (1)

22-29: Good switch to bundles resolver with a pinned digest.

Supply-chain friendly; deterministic task resolution.

Follow-ups:

  • The annotation pipelinesascode.tekton.dev/task: "[git-clone]" still references a named task but the Pipeline now uses a bundles resolver. Please confirm whether PAC still requires/uses this annotation; if not, drop it to avoid confusion.

You can update annotations like so (outside this hunk):

metadata:
  annotations:
    pipelinesascode.tekton.dev/max-keep-runs: "3"
    pipelinesascode.tekton.dev/on-event: "[push]"
    pipelinesascode.tekton.dev/on-target-branch: "[refs/tags/*]"
    # pipelinesascode.tekton.dev/task: "[git-clone]"  # remove if unnecessary
  • Consider also pinning the slack-webhook-notification task bundle with a digest for parity.

Example (outside this hunk):

finally:
  - name: slack-webhook-notification
    taskRef:
      resolver: bundles
      params:
        - name: name
          value: slack-webhook-notification
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-slack-webhook-notification:0.1@sha256:<digest>
        - name: kind
          value: task
.github/workflows/gating.yaml (4)

28-30: Log and verify the system nox version to catch distro lag issues.

Apt nox can lag behind PyPI; surface the exact version in CI logs.

Apply this inline tweak:

 apt-get update
 apt-get install --no-install-recommends --no-install-suggests -y git nox
+noxtmp="$(nox --version || true)"; echo "nox: ${noxtmp}"

62-64: Align venv prerequisites across jobs or confirm they’re unnecessary.

You install python3-venv here but not in “Unit tests”. If any nox session uses venv (not virtualenv), tests may fail intermittently. Either add python3-venv in tests as well, or confirm all sessions rely solely on virtualenv.

Suggested change in the tests job (outside this hunk):

- apt-get install --no-install-recommends --no-install-suggests -y git nox
+ apt-get install --no-install-recommends --no-install-suggests -y git nox python3-venv

111-115: Surface nox version in the build-image job for traceability.

Small addition to help diagnose env drifts on runners.

 sudo apt-get update
 sudo apt-get install --no-install-recommends --no-install-suggests -y createrepo-c nox
+noxtmp="$(nox --version || true)"; echo "nox: ${noxtmp}"

183-184: Pre-flight check: confirm nox is on PATH before integration tests.

Avoids opaque failures if nox isn’t installed as expected on the VM.

 git config --global --add safe.directory "*"
+nox --version
 nox -s integration-tests
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 0e1c9fa and bc743c7.

📒 Files selected for processing (2)
  • .github/workflows/gating.yaml (4 hunks)
  • .tekton/release.yaml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Build container image and run integration tests on it
  • GitHub Check: Konflux kflux-prd-rh03 / on-pull-request

Copy link
Member

@eskultety eskultety left a comment

Choose a reason for hiding this comment

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

ACK to commit 2 (as a temporary fix), I'm personally not so much in favour of commit 1.

Let's explicitly link the git clone task to (hopefully) prevent recent
issues with releasing new version of our image.

Signed-off-by: Michal Šoltis <msoltis@redhat.com>
Copy link

@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: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
.tekton/release.yaml (3)

98-105: Pin slack-webhook-notification bundle by digest for consistency.

The git-clone task is digest-pinned; do the same here to avoid tag drift.

-            - name: bundle
-              value: quay.io/konflux-ci/tekton-catalog/task-slack-webhook-notification:0.1
+            - name: bundle
+              value: quay.io/konflux-ci/tekton-catalog/task-slack-webhook-notification:0.1@sha256:<digest>

65-66: Fix git fetch flag: use --tags (not --tag).

Current command likely ignores/fails to fetch tags, breaking the version discovery.

-                git fetch --tag -v
+                git fetch --tags -v

72-77: SemVer regex limits major to a single digit.

This rejects versions like 10.2.0. Expand the major group.

-                if [[ $version =~ ^([0-9])\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$  ]]; then
+                if [[ $version =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$ ]]; then
🧹 Nitpick comments (2)
.tekton/release.yaml (2)

9-9: Remove redundant Pipelines-as-Code task annotation.

Now that git-clone is resolved via bundles inside the spec, this PaC annotation is unnecessary and can confuse future readers.

-    pipelinesascode.tekton.dev/task: "[git-clone]"

91-94: Preserve multi-arch and add resiliency for image retag.

If the source tag is a manifest list, include all architectures; add retries for transient registry errors.

-                skopeo copy docker://quay.io/konflux-ci/hermeto:$PARAM_REVISION \
-                  docker://quay.io/konflux-ci/hermeto:$version
+                skopeo copy --all --retry-times 3 \
+                  docker://quay.io/konflux-ci/hermeto:$PARAM_REVISION \
+                  docker://quay.io/konflux-ci/hermeto:$version
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between bc743c7 and e0eb8c6.

📒 Files selected for processing (1)
  • .tekton/release.yaml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Build container image and run integration tests on it
  • GitHub Check: Konflux kflux-prd-rh03 / on-pull-request
🔇 Additional comments (1)
.tekton/release.yaml (1)

22-29: Bundle-based taskRef with digest pinning — good supply‑chain hardening.

Using resolver: bundles and pinning git-clone by digest improves reproducibility and integrity. No issues spotted with params.

@slimreaper35 slimreaper35 changed the title CI/CD minor improvements Tekton: Fix git-clone task reference Aug 29, 2025
@eskultety eskultety added this pull request to the merge queue Sep 1, 2025
Merged via the queue into hermetoproject:main with commit 2231af0 Sep 1, 2025
14 checks passed
@eskultety eskultety deleted the gh-devel branch September 1, 2025 06:33
@coderabbitai coderabbitai bot mentioned this pull request Oct 7, 2025
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants