Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .cherry_picker.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
team = "lightspeed-core"
repo = "lightspeed-stack"
check_sha = "ea5de69d94e33aa2a75a622fec455bc4b0fa6c6b"
fix_commit_msg = false
default_branch = "main"
11 changes: 10 additions & 1 deletion .github/pr-title-checker-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,16 @@
"color": "EEEEEE"
},
"CHECKS": {
"prefixes": ["LCORE-", "RSPEED-", "MGTM-", "OLS-", "RHIDP-", "LEADS-", "CWFHEALTH-"]
"prefixes": [
"LCORE-",
"RSPEED-",
"MGTM-",
"OLS-",
"RHIDP-",
"LEADS-",
"CWFHEALTH-",
"[release/"
]
},
"MESSAGES": {
"success": "All OK",
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ uv run make test-e2e # End-to-end tests

**PR titles MUST start with a JIRA issue key prefix.** CI enforces this via `pr-title-checker` (config: `.github/pr-title-checker-config.json`).

Allowed prefixes: `LCORE-`, `RSPEED-`, `MGTM-`, `OLS-`, `RHDHPAI-`, `LEADS-`
Allowed prefixes: `LCORE-`, `RSPEED-`, `MGTM-`, `OLS-`, `RHIDP-`, `LEADS-`, `CWFHEALTH-`, `[release/`

- ✅ `RSPEED-2849: add user_agent to ResponsesEventData`
- ❌ `feat(observability): add user_agent to ResponsesEventData`
Expand Down
70 changes: 65 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
* [Pull request size](#pull-request-size)
* [Definition of Done](#definition-of-done)
* [A deliverable is to be considered “done” when](#a-deliverable-is-to-be-considered-done-when)
* [Backports](#backports)
* [AI assistants](#ai-assistants)
* [“Mark” code with substantial AI-generated portions.](#mark-code-with-substantial-ai-generated-portions)
* [Copyright and licence notices](#copyright-and-licence-notices)
Expand Down Expand Up @@ -110,7 +111,11 @@ Happy hacking!

## PR description

* Jira ticket needs to be added into PR title, for example: `LCORE-740: type hints for models unit tests`
* PR titles must start with a JIRA issue key prefix or the target branch of a backport in brackets. CI enforces this via
`pr-title-checker` (config: `.github/pr-title-checker-config.json`).
Allowed prefixes: `LCORE-`, `RSPEED-`, `MGTM-`, `OLS-`, `RHIDP-`, `LEADS-`,
`CWFHEALTH-`, `[release/`
- for example: `LCORE-740: type hints for models unit tests`
* Fill-in all relevant information in the PR template
- unused parts of PR template (like information about testing etc.) can be deleted
* Please note that CodeRabbitAI will create a summary of your pull request
Expand Down Expand Up @@ -160,6 +165,61 @@ Happy hacking!



## Backports

We use [cherry_picker](https://pypi.org/project/cherry-picker/) to backport
merged pull requests to release branches. See the
[cherry_picker documentation](https://cherry-picker.readthedocs.io/) for full
details.

### Installation

```bash
pip install --user cherry_picker
```

### Usage

After a pull request has been merged to `main`, you can backport it to one or
more release branches:

```bash
# backport to a single release branch
cherry_picker <commit-sha> release/0.6

# backport to multiple release branches
cherry_picker <commit-sha> release/0.5 release/0.6
```

`cherry_picker` will create a new branch, cherry-pick the commit, and open a
pull request against the target release branch.

If the commit you want to backport is a **merge commit**, append `^-` to the
hash so that `cherry_picker` applies the correct parent diff:

```bash
cherry_picker <merge-commit-sha>^- release/0.6
```

If there are conflicts, `cherry_picker` will pause and let you resolve them.
After resolving:

```bash
git add .
cherry_picker --continue
```

To abort a backport in progress:

```bash
cherry_picker --abort
```

See the [branching documentation](docs/branching.md) for more details on our
branching strategy and release workflow.



## Definition of Done

### A deliverable is to be considered “done” when
Expand All @@ -182,7 +242,7 @@ Happy hacking!
Nontrivial and substantial AI-generated or AI-assisted content should be
“marked” in appropriate cases. In deciding how to approach this, consider
adopting one or more of the following recommendations. (This assumes you have
not concluded that a suggestion is a match to some existing third-party code.)
not concluded that a suggestion is a match to some existing third-party code.)

In a commit message, or in a pull request/merge request description field,
identify the code assistant that you used, perhaps elaborating on how it was
Expand Down Expand Up @@ -332,14 +392,14 @@ Here is simple example:
```python
def function_with_pep484_type_annotations(param1: int, param2: str) -> bool:
"""Example function with PEP 484 type annotations.

Args:
param1: The first parameter.
param2: The second parameter.

Returns:
The return value. True for success, False otherwise.

Raises:
ValueError: If the first parameter does not contain proper model name
"""
Expand Down
3 changes: 3 additions & 0 deletions docs/branching.md
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,9 @@ branch history. Key points:
- Resolve any merge conflicts, then `git add` and `git cherry-pick --continue`.
Test, review, and push the resulting commit into the release branch.

We use `cherry_picker` to automate this process. See the
[contributing guide](../CONTRIBUTING.md#backports) for usage instructions.

NOTE: the cherry picking can be made in main -> release branch direction or
vice versa. We prefer the first method when possible.

Expand Down
5 changes: 4 additions & 1 deletion docs/demos/lcore/contributing_guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,10 @@ ptisnovs@redhat.com

## PR description

* Jira ticket needs to be added into PR title
* PR titles must start with a JIRA issue key prefix. CI enforces this via
`pr-title-checker` (config: `.github/pr-title-checker-config.json`).
Allowed prefixes: `LCORE-`, `RSPEED-`, `MGTM-`, `OLS-`, `RHIDP-`, `LEADS-`,
`CWFHEALTH-`, `[release/`
- for example: `LCORE-740: type hints for models unit tests`
* Fill-in all relevant information in the PR template
- unused parts of PR template (like information about testing etc.) can be deleted
Expand Down
14 changes: 9 additions & 5 deletions docs/devel_doc/contributing_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,11 @@ Happy hacking!

## PR description

* Jira ticket needs to be added into PR title, for example: `LCORE-740: type hints for models unit tests`
* PR titles must start with a JIRA issue key prefix or the target branch of a backport. CI enforces this via
`pr-title-checker` (config: `.github/pr-title-checker-config.json`).
Allowed prefixes: `LCORE-`, `RSPEED-`, `MGTM-`, `OLS-`, `RHIDP-`, `LEADS-`,
`CWFHEALTH-`, `[release/`
- for example: `LCORE-740: type hints for models unit tests`
* Fill-in all relevant information in the PR template
- unused parts of PR template (like information about testing etc.) can be deleted
* Please note that CodeRabbitAI will create a summary of your pull request
Expand Down Expand Up @@ -183,7 +187,7 @@ at the start of each session and announce which files were loaded.
Nontrivial and substantial AI-generated or AI-assisted content should be
“marked” in appropriate cases. In deciding how to approach this, consider
adopting one or more of the following recommendations. (This assumes you have
not concluded that a suggestion is a match to some existing third-party code.)
not concluded that a suggestion is a match to some existing third-party code.)

In a commit message, or in a pull request/merge request description field,
identify the code assistant that you used, perhaps elaborating on how it was
Expand Down Expand Up @@ -329,14 +333,14 @@ Here is simple example:
```python
def function_with_pep484_type_annotations(param1: int, param2: str) -> bool:
"""Example function with PEP 484 type annotations.

Args:
param1: The first parameter.
param2: The second parameter.

Returns:
The return value. True for success, False otherwise.

Raises:
ValueError: If the first parameter does not contain proper model name
"""
Expand Down
Loading