Skip to content

Add cherry_picker config and update valid prefixes#2164

Open
samdoran wants to merge 3 commits into
lightspeed-core:mainfrom
samdoran:prefixes
Open

Add cherry_picker config and update valid prefixes#2164
samdoran wants to merge 3 commits into
lightspeed-core:mainfrom
samdoran:prefixes

Conversation

@samdoran

@samdoran samdoran commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Description

Add configuration for cherry_picker to make backports easier.
Update valid prefixes to include the format used for back port PRs which should be the branch name in brackets such as "[release/0.6]".

Once this is merged and backported to release branches, back ports can be made using cherry_picker [commit hash] [target branch]. If the commit hash is a merge commit, use [merge-commit hash]^-. That will cherry-pick all commits in the merge commit individually.

Ideally we would avoid merge commits in the main branch to make the history cleaner and make back ports much easier to apply.

Type of change

  • Refactor
  • New feature
  • Bug fix
  • CVE fix
  • Optimization
  • Documentation Update
  • Configuration Update
  • Bump-up service version
  • Bump-up dependent library
  • Bump-up library or tool used for development (does not change the final image)
  • CI configuration change
  • Konflux configuration change
  • Unit tests improvement
  • Integration tests improvement
  • End to end tests improvement
  • Benchmarks improvement

Tools used to create PR

  • My brain

Related Tickets & Documents

None

Checklist before requesting a review

  • I have performed a self-review of my code.
  • PR has passed all pre-merge test jobs.
  • If it is a core feature, I have added thorough tests.

Testing

  • Please provide detailed steps to perform tests related to this code change.
  • How were the fix/results from this change verified? Please provide relevant screenshots or results.

Summary by CodeRabbit

  • Documentation

    • Added guidance for backporting changes to release branches, including installation, conflict resolution, and abort/continue workflows.
    • Updated branching documentation with automated cherry-picking guidance.
    • Clarified pull request title requirements, including supported issue-key and release-branch prefixes.
    • Updated contributor and demo documentation to reflect CI-enforced title validation.
    • Added repository configuration to support standardized backport workflows.
  • Chores

    • Updated pull request title validation to recognize release-prefixed titles.

samdoran added 3 commits July 17, 2026 12:44
Include the prefix used for backports which will be the release branch
name in brackets such as "[release/0.6]".
@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 6da97db2-1324-4fbd-bfac-7c44c7ae2dfb

📥 Commits

Reviewing files that changed from the base of the PR and between 938dcac and 863406a.

📒 Files selected for processing (7)
  • .cherry_picker.toml
  • .github/pr-title-checker-config.json
  • AGENTS.md
  • CONTRIBUTING.md
  • docs/branching.md
  • docs/demos/lcore/contributing_guidelines.md
  • docs/devel_doc/contributing_guide.md
📜 Recent review details
⏰ Context from checks skipped due to timeout. (13)
  • GitHub Check: Pylinter
  • GitHub Check: build-pr
  • GitHub Check: integration_tests (3.13)
  • GitHub Check: unit_tests (3.12)
  • GitHub Check: unit_tests (3.13)
  • GitHub Check: integration_tests (3.12)
  • GitHub Check: E2E: server mode / ci / group 3
  • GitHub Check: E2E: library mode / ci / group 2
  • GitHub Check: E2E: library mode / ci / group 3
  • GitHub Check: E2E: server mode / ci / group 2
  • GitHub Check: E2E: server mode / ci / group 1
  • GitHub Check: E2E: library mode / ci / group 1
  • GitHub Check: E2E Tests for Lightspeed Evaluation job
⚠️ CI failures not shown inline (2)

GitHub Actions: PR Title Checker / 0_check.txt: Add cherry_picker config and update valid prefixes

Conclusion: failure

View job details

##[group]Run thehanimo/pr-title-checker@v1.4.3
 with:
   GITHUB_***REDACTED***
   pass_on_octokit_error: false
   configuration_path: .github/pr-title-checker-config.json
 ##[endgroup]
 (node:1945) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
 (Use `node --trace-deprecation ...` to show where the warning was created)
 Using config file .github/pr-title-checker-config.json from repo lightspeed-core/lightspeed-stack [ref: 938dcacd95401747d28387fd12951f0915d43818]
 (node:1945) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
 Creating label (title needs formatting)...
 Label (title needs formatting) already created.
 Adding label (title needs formatting) to PR...
 HttpError: Resource not accessible by integration
 ##[error]Failed to add label (title needs formatting) to PR

GitHub Actions: PR Title Checker / check: Add cherry_picker config and update valid prefixes

Conclusion: failure

View job details

##[group]Run thehanimo/pr-title-checker@v1.4.3
 with:
   GITHUB_***REDACTED***
   pass_on_octokit_error: false
   configuration_path: .github/pr-title-checker-config.json
 ##[endgroup]
 (node:1945) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
 (Use `node --trace-deprecation ...` to show where the warning was created)
 Using config file .github/pr-title-checker-config.json from repo lightspeed-core/lightspeed-stack [ref: 938dcacd95401747d28387fd12951f0915d43818]
 (node:1945) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
 Creating label (title needs formatting)...
 Label (title needs formatting) already created.
 Adding label (title needs formatting) to PR...
 HttpError: Resource not accessible by integration
 ##[error]Failed to add label (title needs formatting) to PR
🧰 Additional context used
📓 Path-based instructions (3)
AGENTS.md

📄 CodeRabbit inference engine (CLAUDE.md)

Document agent implementations and their configurations in AGENTS.md

Files:

  • AGENTS.md
**/*

📄 CodeRabbit inference engine (Custom checks)

**/*: Flag meaningful O(n^2)+ algorithms on non-trivial inputs, including handlers and Kubernetes list operations.
Flag N+1 patterns that list items and then query once per item, including Kubernetes API and database access.
Flag expensive work inside loops, including API calls, JSON parsing, and regex compilation.
Flag unbounded growth in caches, watchers, or buffers when eviction or limits are missing.
Flag missing pagination or limits on list operations and API endpoints.
Flag secrets or tokens logged in plaintext or hardcoded in source.
Flag API endpoints missing authentication or authorization.
Flag injection vulnerabilities, including SQL injection, command injection, and path traversal.
Flag sensitive data leaked in API responses, WebSocket messages, or logs.
Flag Kubernetes Secrets and Red Hat secrets missing OwnerReferences.

Files:

  • AGENTS.md
  • docs/demos/lcore/contributing_guidelines.md
  • docs/branching.md
  • docs/devel_doc/contributing_guide.md
  • CONTRIBUTING.md
.github/pr-title-checker-config.json

📄 CodeRabbit inference engine (AGENTS.md)

Pull request titles must start with an allowed JIRA issue-key prefix: LCORE-, RSPEED-, MGTM-, OLS-, RHIDP-, LEADS-, CWFHEALTH-, or [release/.

Files:

  • .github/pr-title-checker-config.json
🧠 Learnings (3)
📚 Learning: 2026-03-02T15:57:10.746Z
Learnt from: asamal4
Repo: lightspeed-core/lightspeed-stack PR: 1250
File: AGENTS.md:11-12
Timestamp: 2026-03-02T15:57:10.746Z
Learning: In AGENTS.md, Linting Tools section should list actual tool names (e.g., mypy, pylint, pyright, ruff, black) instead of make target names (e.g., check-types). Ensure the section documents the individual tools that perform linting, not the Makefile targets that invoke them, so readers understand which tools are used and how to configure/run them directly.

Applied to files:

  • AGENTS.md
📚 Learning: 2026-04-15T18:53:54.785Z
Learnt from: Lifto
Repo: lightspeed-core/lightspeed-stack PR: 1510
File: src/models/requests.py:742-769
Timestamp: 2026-04-15T18:53:54.785Z
Learning: In `src/models/requests.py`, keep `ResponsesRequest.validate_body_size` using `json.dumps(values)` with Python defaults (including ASCII escaping and the default separators). This default formatting is intentional to make the 65,536-character limit conservatively strict (accounting for small encoding/format overhead). Do not recommend changing it to `ensure_ascii=False` or using compact separators for this validator, since an exact wire-format byte match with the client payload is not achievable via `json.dumps` anyway.

Applied to files:

  • .cherry_picker.toml
📚 Learning: 2026-04-20T15:09:45.119Z
Learnt from: major
Repo: lightspeed-core/lightspeed-stack PR: 1548
File: src/app/endpoints/rlsapi_v1.py:56-56
Timestamp: 2026-04-20T15:09:45.119Z
Learning: In `src/app/endpoints/rlsapi_v1.py`, treat the line `_get_rh_identity_context = get_rh_identity_context` as an intentional temporary backward-compatibility shim (introduced for PR `#1548`, Splunk HEC telemetry work). Do not flag it as dead/unnecessary/unused code during review until the planned part 3 is merged and the responses endpoint is fully wired up such that no tests or external consumers reference the underscore-prefixed name.

Applied to files:

  • .cherry_picker.toml
🔇 Additional comments (7)
.github/pr-title-checker-config.json (1)

7-16: LGTM!

AGENTS.md (1)

388-388: LGTM!

CONTRIBUTING.md (1)

15-15: LGTM!

Also applies to: 114-118, 168-222, 245-245, 395-402

docs/demos/lcore/contributing_guidelines.md (1)

77-80: LGTM!

docs/devel_doc/contributing_guide.md (1)

101-105: LGTM!

Also applies to: 190-190, 336-343

.cherry_picker.toml (1)

1-5: LGTM!

docs/branching.md (1)

270-272: LGTM!


Walkthrough

Adds cherry-picking configuration, documents automated backports, and aligns PR title validation and contributor guidance with release branch prefixes.

Changes

Contributor workflows

Layer / File(s) Summary
PR title policy and guidance
.github/pr-title-checker-config.json, AGENTS.md, CONTRIBUTING.md, docs/demos/lcore/contributing_guidelines.md, docs/devel_doc/contributing_guide.md
PR title rules now support [release/ prefixes, remove RHDHPAI-, and are documented consistently. Minor guidance formatting is also normalized.
Cherry-picker backport workflow
.cherry_picker.toml, CONTRIBUTING.md, docs/branching.md
Adds cherry_picker repository configuration and documents backport commands, conflict handling, aborting, and branching references.

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

Possibly related PRs

Suggested reviewers: tisnik

🚥 Pre-merge checks | ✅ 7
✅ Passed checks (7 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main changes: adding cherry_picker config and expanding valid PR title prefixes.
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.
Performance And Algorithmic Complexity ✅ Passed No blocking perf issues: src/llama_stack_configuration.py:785-818 adds one O(n) scan over tool_runtime; other PR changes are docs/config only.
Security And Secret Handling ✅ Passed Only docs/config files changed; scans found no hardcoded secrets, auth/injection issues, data leaks, or secret-manifest ownerRef problems.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

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.

@samdoran

Copy link
Copy Markdown
Contributor Author

The cherry_picker config needs to be backported to each release branch.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant