janhoy opened a new pull request, #4425:
URL: https://github.com/apache/solr/pull/4425

   This PR improves `logchange.py` and the release wizard to handle two 
scenarios:
   
   **LTS release support in `forward-port`**: A new 
`--latest-lts-stable-branch` argument causes changelog commits to also be 
forward-ported to the LTS stable branch (e.g. `branch_9x`) when releasing from 
a major-version branch that is the
   current LTS line. `CHANGELOG.md` and `version-summary.md` are never 
cherry-picked — they are always regenerated fresh on each target branch to 
avoid cross-major-version conflicts.
   
   **RC-number labelling in `prepare`**: A new `--rc-number` argument (default: 
1) appends ` RC<n>` to commit messages for RC2+ releases.
   
   **Atomic two-commit workflow** (both `prepare` and `forward-port`): the 
YAML/date-file changes are committed first (commit A), then `logchangeGenerate` 
runs and its output (`CHANGELOG.md` + `version-summary.md`) is committed 
separately
   (commit B). This avoids staging stale generated files alongside source YAML.
   
   The release wizard is updated to expose `is_lts_release` and 
`latest_lts_stable_branch` in Jinja context and to conditionally pass the new 
flags in the rendered shell commands.
   
   ## Testing
   
   Tested with a shell simulation `simulate.sh` that replays a full realistic 
multi-branch release sequence in an isolated local repo:
   
   - Initial state: `v9.10.0` (on `branch_9x` + `main`) and `v10.0.0` (on 
`main` / `branch_10x`) already released.
   - Then simulates six releases in order: **10.1.0** (regular), **9.10.1** 
(LTS bugfix), **10.1.1** (stable bugfix), **9.11.0** (LTS minor), **9.11.1** 
(LTS bugfix) — each going through `prepare` and `forward-port` with the 
appropriate branch
   topology.
   - LTS releases use `--latest-lts-stable-branch branch_9x`; non-LTS releases 
omit it.
   - Verification step confirms all 7 version folders are present on `main` 
with the correct YAML files, no conflicts, and `changelog/unreleased/` contains 
only `.gitkeep`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to