From 0b761cdca2da9cae2fc88cd0cfa73da6bbca6344 Mon Sep 17 00:00:00 2001 From: Nano Taboada Date: Mon, 27 Apr 2026 01:10:29 -0300 Subject: [PATCH 1/2] docs(changelog): prepare release notes for v2.0.2-dortmund Co-authored-by: Claude Sonnet 4.6 --- CHANGELOG.md | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4ec8d9..11be496 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,22 @@ Release names follow the **historic football clubs** naming convention (A–Z): ### Changed +- Refactor `/pre-release` Phase 2: inline build and test steps directly + (`./mvnw clean install`, `docker compose build`) instead of delegating to + `/pre-commit`; move CodeRabbit review to run against the uncommitted CHANGELOG + diff; separate commit-message approval from the actual commit so checks run + in between + +### Fixed + +### Removed + +--- + +## [2.0.2 - Borussia Dortmund] - 2026-04-27 + +### Changed + - Return `422 Unprocessable Entity` for field validation failures (`@Valid` constraint violations and squad number mismatch) instead of `400 Bad Request`; reserve `400` for genuinely malformed requests (unparseable JSON, wrong @@ -51,10 +67,6 @@ Release names follow the **historic football clubs** naming convention (A–Z): intercept `MethodArgumentNotValidException`; update OpenAPI `@ApiResponse` annotations and test assertions accordingly (#319) -### Fixed - -### Removed - --- ## [2.0.1 - Chelsea] - 2026-04-11 @@ -164,7 +176,8 @@ Initial release. See [README.md](README.md) for complete feature list and docume --> -[Unreleased]: https://github.com/nanotaboada/java.samples.spring.boot/compare/v2.0.1-chelsea...HEAD +[Unreleased]: https://github.com/nanotaboada/java.samples.spring.boot/compare/v2.0.2-dortmund...HEAD +[2.0.2 - Borussia Dortmund]: https://github.com/nanotaboada/java.samples.spring.boot/compare/v2.0.1-chelsea...v2.0.2-dortmund [2.0.1 - Chelsea]: https://github.com/nanotaboada/java.samples.spring.boot/compare/v2.0.0-barcelona...v2.0.1-chelsea [2.0.0 - Barcelona]: https://github.com/nanotaboada/java.samples.spring.boot/compare/v1.0.0-arsenal...v2.0.0-barcelona [1.0.0 - Arsenal]: https://github.com/nanotaboada/java.samples.spring.boot/releases/tag/v1.0.0-arsenal From 777d805ef7614093960733c02155afaf47a9b7ab Mon Sep 17 00:00:00 2001 From: Nano Taboada Date: Mon, 27 Apr 2026 01:10:32 -0300 Subject: [PATCH 2/2] docs(commands): refactor pre-release Phase 2 workflow Co-authored-by: Claude Sonnet 4.6 --- .claude/commands/pre-release.md | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/.claude/commands/pre-release.md b/.claude/commands/pre-release.md index 6e5749b..d068ba4 100644 --- a/.claude/commands/pre-release.md +++ b/.claude/commands/pre-release.md @@ -58,7 +58,15 @@ proceeding. Never create a branch, commit, tag, or push without approval. - `[unreleased]` → `.../compare/vX.Y.Z-{club}...HEAD` - Add `[X.Y.Z - ClubName]` → `.../compare/v{prev-tag}...vX.Y.Z-{club}` -3. Show the full diff of `CHANGELOG.md` and propose this commit message: +3. Show the full diff of `CHANGELOG.md`. + +4. If `coderabbit` CLI is installed, run `coderabbit review --type uncommitted --prompt-only` + on the uncommitted CHANGELOG changes: + - If actionable/serious findings are reported, stop and address them before proceeding. + - If only nitpick-level findings, report them and continue. + - If `coderabbit` is not installed, skip with a note. + +5. Propose this commit message: ```text docs(changelog): prepare release notes for vX.Y.Z-{club} (#issue) @@ -66,17 +74,20 @@ proceeding. Never create a branch, commit, tag, or push without approval. **Wait for explicit approval before committing.** -4. Run `/pre-commit`, manually skipping step 1 — do not re-run or re-attempt - the CHANGELOG update; it was already completed above. Open with: "Skip - step 1 — CHANGELOG was already updated as part of this release branch." - Proceed directly with steps 2–4. +6. Run `./mvnw clean install` — must succeed with no compilation warnings, all + tests passing, and the JaCoCo check reporting `All coverage checks have been met.` + +7. If Docker is running, run `docker compose build` — must succeed with no errors. + Skip with a note if Docker Desktop is not running. + +8. Stage `CHANGELOG.md` and commit using the approved message from step 5. -5. Propose opening a PR from `release/vX.Y.Z-{club}` into `master`. +9. Propose opening a PR from `release/vX.Y.Z-{club}` into `master`. **Wait for explicit approval before opening.** -6. Open the PR with: - - Title: `docs(changelog): prepare release notes for vX.Y.Z-{club}` - - Body summarising what is included in this release. +10. Open the PR with: + - Title: `docs(changelog): prepare release notes for vX.Y.Z-{club}` + - Body summarising what is included in this release. ---