Skip to content

chore: boilerplate-update (agentic SDLC check + base image updates) - #339

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
tnierman:boilerplate-update
Jul 7, 2026
Merged

chore: boilerplate-update (agentic SDLC check + base image updates)#339
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
tnierman:boilerplate-update

Conversation

@tnierman

@tnierman tnierman commented Jul 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Runs make boilerplate-update to pull latest boilerplate changes
  • Adds the agentic SDLC conformance check pipeline from ROSA-730
  • Updates OWNERS_ALIASES and Dockerfile base images

Notable changes

File Change
.tekton/deadmanssnitch-operator-agentic-sdlc-check-pull-request.yaml New Konflux pipeline — checks ROSA-730 conformance on every PR (non-blocking red X)
boilerplate/openshift/golang-osd-operator/agentic-sdlc-check-pull-request.yaml.tmpl Template from boilerplate
boilerplate/openshift/golang-osd-operator/update Generation logic for the pipeline
build/Dockerfile, build/Dockerfile.olm-registry Base image updates
OWNERS_ALIASES Alias updates

Test plan

  • Validated the agentic SDLC check pipeline on PR #337
  • Verify the boilerplate-generated pipeline runs correctly on this PR

ROSA-730

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Added automated pull-request checks to verify required repository docs and configuration are present and meet expected quality standards.
    • Updated review ownership so requests are routed to the current approver groups.

Pulls latest boilerplate, which includes:
- Agentic SDLC conformance check pipeline (ROSA-730)
- OWNERS_ALIASES updates
- Dockerfile base image updates

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Walkthrough

This PR adds a new Tekton PipelineRun for agentic SDLC compliance checking that validates required repository files and content rules on pull requests, and updates OWNERS/OWNERS_ALIASES to reorganize approver groups, removing several lead/architect aliases and adding new rosa-staff-engineers, rosa-managers, and hp-architects groups.

Changes

Agentic SDLC Check Pipeline

Layer / File(s) Summary
PipelineRun definition with file/content validation
.tekton/deadmanssnitch-operator-agentic-sdlc-check-pull-request.yaml
New Tekton PipelineRun clones the repo then runs check-file-existence and check-content-validation tasks that verify required files, doc sections, .codecov.yml coverage target (≥50%), pre-commit hooks, and non-stub docs, failing the pipeline on any FAIL.

Ownership and Alias Updates

Layer / File(s) Summary
Approver and alias group reorganization
OWNERS, OWNERS_ALIASES
OWNERS approvers add rosa-staff-engineers and remove srep-functional-leads/srep-team-leads; OWNERS_ALIASES removes srep-functional-team-security, srep-infra-cicd, srep-functional-leads, srep-team-leads, sre-group-leads, srep-architects and adds rosa-staff-engineers, rosa-managers, hp-architects groups with handle lists.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PipelineRun
  participant CloneRepository
  participant CheckFileExistence
  participant CheckContentValidation

  PipelineRun->>CloneRepository: clone source_url at revision
  CloneRepository-->>PipelineRun: repository workspace
  PipelineRun->>CheckFileExistence: verify required files exist
  CheckFileExistence-->>PipelineRun: PASS/FAIL/WARN counts
  PipelineRun->>CheckContentValidation: validate CLAUDE.md, .codecov.yml, .pre-commit-config.yaml, docs
  CheckContentValidation-->>PipelineRun: PASS/FAIL/WARN counts, exit non-zero on failure
Loading

Related PRs: None found.

Suggested labels: ci, documentation, ownership

Suggested reviewers: None identified.

Poem:
A rabbit hopped through YAML deep,
Checking files while others sleep,
Aliases shuffled, new names in,
Old lead groups filed away with a grin,
Compliance checked with a satisfied leap! 🐇

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the boilerplate update, including the new agentic SDLC check and base image refresh.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed No changed file adds or edits Ginkgo spec titles; the PR only touches Tekton YAML, OWNERS, aliases, and Dockerfiles.
Test Structure And Quality ✅ Passed No Ginkgo test code changed; this PR only updates Tekton, OWNERS/aliases, boilerplate metadata, and Dockerfiles, so the check is not applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes YAML/OWNERS/Dockerfiles, so MicroShift API compatibility is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo/e2e test code was added; changed files are boilerplate YAML/Dockerfile/OWNERS updates, and the diff has no SNO-sensitive test patterns.
Topology-Aware Scheduling Compatibility ✅ Passed Changed files are boilerplate, OWNERS, and a Tekton PR-check; no deployment manifests, controllers, or node/affinity/topology scheduling logic were added.
Ote Binary Stdout Contract ✅ Passed PR only changes YAML/OWNERS/Dockerfiles; no Go main/init/suite code or stdout-writing process-level code was introduced.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added in this PR; the diff is boilerplate, OWNERS, Dockerfile, and Tekton config only.
No-Weak-Crypto ✅ Passed Patch scan found no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB or custom/constant-time crypto issues; changes are config, docs, and Dockerfiles.
Container-Privileges ✅ Passed No changed manifest contains privileged, hostPID/network/IPC, SYS_ADMIN, or allowPrivilegeEscalation settings.
No-Sensitive-Data-In-Logs ✅ Passed Only status/file-name messages and public URLs are logged; no secret contents, PII, or internal data are printed.
✨ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 (1)
.tekton/deadmanssnitch-operator-agentic-sdlc-check-pull-request.yaml (1)

51-51: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Reusing the git-clone image to run unrelated shell checks.

Both check steps run generic shell logic (date, wc, grep -E, basename) using quay.io/konflux-ci/git-clone@sha256:..., an image intended for git cloning rather than general scripting. It likely works if it bundles common coreutils, but a dedicated minimal shell/toolbox image would better express intent and avoid depending on an implementation detail of the git-clone image's contents.

Also applies to: 102-102

🤖 Prompt for 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.

In @.tekton/deadmanssnitch-operator-agentic-sdlc-check-pull-request.yaml at line
51, The check steps are using the git-clone image for unrelated shell commands,
so update the step image references in the affected Tekton task to a dedicated
minimal shell/toolbox image instead of quay.io/konflux-ci/git-clone. Keep the
generic command logic in the same check step definitions, but change the image
used by the shell-check steps so their intent matches the tooling they require.
🤖 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 @.tekton/deadmanssnitch-operator-agentic-sdlc-check-pull-request.yaml:
- Around line 25-44: The clone task setup is mismatched with the check tasks’
expected working directory: clone-repository uses git-clone without placing the
repo under source, while the downstream checks run from
$(workspaces.source.path)/source. Update clone-repository to clone into the
source subdirectory (for example by setting subdirectory on the git-clone task),
or adjust the affected check task definitions to run from the workspace root so
the paths align.

---

Nitpick comments:
In @.tekton/deadmanssnitch-operator-agentic-sdlc-check-pull-request.yaml:
- Line 51: The check steps are using the git-clone image for unrelated shell
commands, so update the step image references in the affected Tekton task to a
dedicated minimal shell/toolbox image instead of quay.io/konflux-ci/git-clone.
Keep the generic command logic in the same check step definitions, but change
the image used by the shell-check steps so their intent matches the tooling they
require.
🪄 Autofix (Beta)

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: 0d675cbf-83ae-4729-9f98-2e6ae846c624

📥 Commits

Reviewing files that changed from the base of the PR and between db78446 and fc829a7.

⛔ Files ignored due to path filters (6)
  • boilerplate/_data/last-boilerplate-commit is excluded by !boilerplate/**
  • boilerplate/openshift/golang-osd-operator/OWNERS_ALIASES is excluded by !boilerplate/**
  • boilerplate/openshift/golang-osd-operator/agentic-sdlc-check-pull-request.yaml.tmpl is excluded by !boilerplate/**
  • boilerplate/openshift/golang-osd-operator/update is excluded by !boilerplate/**
  • build/Dockerfile is excluded by !build/**
  • build/Dockerfile.olm-registry is excluded by !build/**
📒 Files selected for processing (3)
  • .tekton/deadmanssnitch-operator-agentic-sdlc-check-pull-request.yaml
  • OWNERS
  • OWNERS_ALIASES

Comment on lines +25 to +44
- name: clone-repository
params:
- name: url
value: '{{source_url}}'
- name: revision
value: '{{revision}}'
taskRef:
params:
- name: name
value: git-clone
- name: bundle
value: quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1@sha256:39efcb7d049d84feccce65e589996a89b19ab7c9f504015c3792e3daee697da3
- name: kind
value: task
resolver: bundles
workspaces:
- name: output
workspace: workspace
- name: basic-auth
workspace: git-auth

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

Does the konflux-ci tekton-catalog task-git-clone:0.1 bundle clone into a "source" subdirectory by default or into the workspace root?

💡 Result:

The default behavior for the Tekton Catalog git-clone task depends on the specific version and implementation context. In the standard upstream Tekton Catalog (git-clone:0.1 and later versions), the task clones the repository into the root of the output workspace by default [1][2][3]. However, in certain Konflux-ci or Red Hat AppStudio implementations, the git-clone task is configured with a default value of "source" for the subdirectory parameter [4]. You should verify the default value defined in your specific Task or Pipeline definition, as environments like Konflux may override the upstream default to ensure repositories are cloned into a dedicated "source" subdirectory [4]. In all versions, you can explicitly control this behavior by setting the subdirectory parameter to the desired path [2][3].

Citations:


🏁 Script executed:

sed -n '1,220p' .tekton/deadmanssnitch-operator-agentic-sdlc-check-pull-request.yaml

Repository: openshift/deadmanssnitch-operator

Length of output: 9995


🌐 Web query:

"quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1" subdirectory source default git-clone Tekton Konflux

💡 Result:

The git-clone Tekton Task, including the version specified by the image quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1, includes a subdirectory parameter used to control where the repository is cloned within the output workspace [1][2][3]. By default, the git-clone Task clones the repository into the root of the output Workspace [1][2][3][4]. To change this behavior, you can set the subdirectory parameter [1][3][5]. Key details regarding the subdirectory parameter: - Function: Specifies the relative path within the output Workspace where the repository should be cloned [3][4][5]. - Default: Empty string (""), which results in the repository being cloned to the root of the workspace [3][5][6]. - Usage: When you provide a value for this parameter, the Task will clone the repository into that specified subdirectory [1][3]. This parameter is a standard feature across various versions of the Tekton git-clone Task [3][5][6]. If you are working in a Konflux or Tekton environment, ensure your Pipeline Task configuration includes this parameter under the params section if a non-root destination is required [3][5].

Citations:


🌐 Web query:

site:github.com "task-git-clone:0.1" "subdirectory" "source" tekton

💡 Result:

In the Tekton git-clone Task (including version 0.1), the subdirectory parameter allows you to specify a relative path within the output Workspace where the Git repository should be cloned [1][2]. By default, the git-clone Task clones the repository directly into the root of the designated output Workspace [2][3][4]. If you set the subdirectory parameter, the Task will instead place the cloned repository contents into that specific sub-folder [1][3]. Key details regarding this parameter: - Purpose: It defines the target destination inside the output volume [2][5]. - Default: The default value is an empty string (""), which results in cloning to the root of the workspace [2][3][6]. - Behavior with deleteExisting: By default, the git-clone Task is configured to delete the contents of the target directory (or the workspace root if no subdirectory is specified) before performing the clone operation [3][4]. This behavior is controlled by the deleteExisting parameter, which defaults to "true" [2][5][6]. While version 0.1 is an early version of this task, the functionality for the subdirectory parameter has been a consistent feature across subsequent versions of the Tekton Catalog git-clone Task [3][4][5][7].

Citations:


Clone the repository into source or update the workingDir

git-clone:0.1 clones to the root of the output workspace by default, but both check tasks run from $(workspaces.source.path)/source. Add subdirectory: source to clone-repository, or change the check tasks to use the workspace root.

🤖 Prompt for 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.

In @.tekton/deadmanssnitch-operator-agentic-sdlc-check-pull-request.yaml around
lines 25 - 44, The clone task setup is mismatched with the check tasks’ expected
working directory: clone-repository uses git-clone without placing the repo
under source, while the downstream checks run from
$(workspaces.source.path)/source. Update clone-repository to clone into the
source subdirectory (for example by setting subdirectory on the git-clone task),
or adjust the affected check task definitions to run from the workspace root so
the paths align.

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 6, 2026
@codecov-commenter

codecov-commenter commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 43.28%. Comparing base (db78446) to head (fc829a7).
⚠️ Report is 6 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #339   +/-   ##
=======================================
  Coverage   43.28%   43.28%           
=======================================
  Files          11       11           
  Lines         834      834           
=======================================
  Hits          361      361           
  Misses        424      424           
  Partials       49       49           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@geowa4

geowa4 commented Jul 7, 2026

Copy link
Copy Markdown

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 7, 2026
@openshift-ci

openshift-ci Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: geowa4, tnierman

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

The pull request process is described 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

@openshift-ci

openshift-ci Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@tnierman: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions 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.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 7f8a2d6 into openshift:master Jul 7, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants