Skip to content

Add agentic SDLC conformance check pipeline (ROSA-730) - #788

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
tnierman:agentic-sdlc-check
Jul 6, 2026
Merged

Add agentic SDLC conformance check pipeline (ROSA-730)#788
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
tnierman:agentic-sdlc-check

Conversation

@tnierman

@tnierman tnierman commented Jul 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds a Konflux pipeline template that validates ROSA-730 agentic SDLC standards on every PR to subscriber repos
  • Generated during make boilerplate-update — the operator name is substituted from config/config.go
  • The check reports a visible red X on non-conformant PRs but does not block merge (not in required_status_checks)

What it checks

File existence (parallel task)

  • CLAUDE.md, .pre-commit-config.yaml, .codecov.yml
  • CONTRIBUTING.md, DEVELOPMENT.md, TESTING.md
  • .claude/settings.json (conditional on CLAUDE.md existing)
  • golangci.yml (in boilerplate convention dir or repo root)

Content validation (parallel task)

  • CLAUDE.md has required sections (build commands, architecture/overview)
  • .codecov.yml patch coverage target >= 50%
  • .pre-commit-config.yaml includes gitleaks, golangci-lint, file hygiene hooks
  • Documentation files are substantive (> 10 lines, not stubs)

Files changed

File Description
boilerplate/openshift/golang-osd-operator/agentic-sdlc-check-pull-request.yaml.tmpl PipelineRun template with __OPERATOR_NAME__ placeholders
boilerplate/openshift/golang-osd-operator/update Added generation logic to create the .tekton/ PipelineRun during boilerplate update

How it works

  1. During make boilerplate-update, the template is rendered with the operator name and written to .tekton/<operator>-agentic-sdlc-check-pull-request.yaml
  2. Pipelines-as-Code picks it up and runs it on every PR
  3. Uses the Konflux catalog git-clone:0.1 task for cloning, and quay.io/konflux-ci/git-clone image for the check steps
  4. Three pipeline tasks: clone → file-existence + content-validation (the checks run in parallel)

Prior art

Tested and validated on openshift/deadmanssnitch-operator#337 — clone succeeds, both check tasks correctly report failures for missing ROSA-730 artifacts, pipeline shows red X without blocking merge.

Test plan

  • Local dry-run against managed-velero-operator (conformant) and pagerduty-operator (non-conformant)
  • Live Konflux pipeline test on deadmanssnitch-operator PR Dockerfile.appsre: fix ci image name from build farm #337
  • Verified non-blocking: check fails but is not in required_status_checks, so /lgtm + /approve still merge
  • Run make boilerplate-update on a subscriber repo to verify template generation

ROSA-730

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (2)
  • 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/**

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a268019c-a68e-4e3f-825e-24fe043c7028

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ 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.

Adds a Konflux pipeline template that validates ROSA-730 agentic SDLC
standards on every PR to subscriber repos. The check is non-blocking
(not in required_status_checks) but reports a visible red X when repos
are non-conformant.

The pipeline runs three tasks:
1. clone-repository: uses the Konflux catalog git-clone task
2. check-file-existence: verifies CLAUDE.md, .pre-commit-config.yaml,
   .codecov.yml, CONTRIBUTING.md, DEVELOPMENT.md, TESTING.md,
   .claude/settings.json, and golangci.yml
3. check-content-validation: verifies CLAUDE.md has required sections,
   codecov patch coverage >= 50%, pre-commit includes gitleaks +
   golangci-lint + file hygiene hooks, and docs are not stubs

The template is generated during `make boilerplate-update` with the
operator name substituted from config/config.go.

Tested on openshift/deadmanssnitch-operator PR openshift#337.

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

Copy link
Copy Markdown
Member

/lgtm

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

openshift-ci Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: clcollins, 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 added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 6, 2026
@openshift-merge-bot
openshift-merge-bot Bot merged commit 5e061bc into openshift:master Jul 6, 2026
5 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.

2 participants