Extend the existing manual release workflow and Central profile to accept exact 4.1.0-RC.1 alongside default GA 4.1.0. Require the matching upstream prerelease state, verified signed annotated tag, exact develop push Smoke, public immutable inputs/parents and source-matching public distribution POMs. RC releases use --prerelease --latest=false; Central remains manual review with autoPublish=false.
Package digest-pinned app Compose with the tracked full-profile infrastructure, demo environment template and notices. App images require no source build; full-profile MinIO retains its local Dockerfile and network requirements. All dependency/version pins remain unchanged, so current snapshots still fail release gates. No package, environment or protection settings change.
Related issue: QRun-IO/qqq#921. This delivers preparation only and does not close the coordinated release issue.
Actual Maven enforcer configuration in isolated fixtures: GA and RC1 pass; six wrong-version/snapshot/LATEST/range cases reject.
Real bundle extraction and Docker Compose rendering: original full-profile service semantics and bind paths preserved; digest-pinned apps have no build context.
actionlint .github/workflows/release.yml and git diff --check pass.
Patch applied to a clean base reproduces all ten independently reviewed file hashes.
Fresh candidate Maven reactor and live published-image/core/full acceptance: pending immutable public inputs and external release gates; not claimed by fixture/render tests.
Checklist
Documentation updated; source reviewed.
No secrets or actual credentials added; bundled values are demo-only and overridable.
Conventional signed commit; no source version changes.
GA behavior and existing operational gates retained.
Hosted compatibility correction
Initial core CI exposed Compose 2.38.2 truncating the SFTP short-volume target during non-interpolating bundle rendering. The signed follow-up changes only that volume to equivalent long syntax and asserts preservation of the full variable. The failure was reproduced with the hosted Compose version; all 37 Python tests pass on both 2.38.2 and 5.5.1. Normal source config differs only by omission of an empty optional volume-options object. No tests skipped and no version pins or gates changed.
## Description
Extend the existing manual release workflow and Central profile to accept exact `4.1.0-RC.1` alongside default GA `4.1.0`. Require the matching upstream prerelease state, verified signed annotated tag, exact develop push Smoke, public immutable inputs/parents and source-matching public distribution POMs. RC releases use `--prerelease --latest=false`; Central remains manual review with `autoPublish=false`.
Package digest-pinned app Compose with the tracked full-profile infrastructure, demo environment template and notices. App images require no source build; full-profile MinIO retains its local Dockerfile and network requirements. All dependency/version pins remain unchanged, so current snapshots still fail release gates. No package, environment or protection settings change.
Related issue: QRun-IO/qqq#921. This delivers preparation only and does not close the coordinated release issue.
## Type of Change
- [x] Build / CI
- [x] Test Addition
- [x] Documentation Update
## Testing
- [x] `python3 -m unittest discover -s scripts -p 'test_*.py' -v`: 37 passed.
- [x] Actual Maven enforcer configuration in isolated fixtures: GA and RC1 pass; six wrong-version/snapshot/LATEST/range cases reject.
- [x] Real bundle extraction and Docker Compose rendering: original full-profile service semantics and bind paths preserved; digest-pinned apps have no build context.
- [x] `actionlint .github/workflows/release.yml` and `git diff --check` pass.
- [x] Patch applied to a clean base reproduces all ten independently reviewed file hashes.
- [ ] Fresh candidate Maven reactor and live published-image/core/full acceptance: pending immutable public inputs and external release gates; not claimed by fixture/render tests.
## Checklist
- [x] Documentation updated; source reviewed.
- [x] No secrets or actual credentials added; bundled values are demo-only and overridable.
- [x] Conventional signed commit; no source version changes.
- [x] GA behavior and existing operational gates retained.
## Hosted compatibility correction
Initial core CI exposed Compose 2.38.2 truncating the SFTP short-volume target during non-interpolating bundle rendering. The signed follow-up changes only that volume to equivalent long syntax and asserts preservation of the full variable. The failure was reproduced with the hosted Compose version; all 37 Python tests pass on both 2.38.2 and 5.5.1. Normal source config differs only by omission of an empty optional volume-options object. No tests skipped and no version pins or gates changed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description
Extend the existing manual release workflow and Central profile to accept exact
4.1.0-RC.1alongside default GA4.1.0. Require the matching upstream prerelease state, verified signed annotated tag, exact develop push Smoke, public immutable inputs/parents and source-matching public distribution POMs. RC releases use--prerelease --latest=false; Central remains manual review withautoPublish=false.Package digest-pinned app Compose with the tracked full-profile infrastructure, demo environment template and notices. App images require no source build; full-profile MinIO retains its local Dockerfile and network requirements. All dependency/version pins remain unchanged, so current snapshots still fail release gates. No package, environment or protection settings change.
Related issue: QRun-IO/qqq#921. This delivers preparation only and does not close the coordinated release issue.
Type of Change
Testing
python3 -m unittest discover -s scripts -p 'test_*.py' -v: 37 passed.actionlint .github/workflows/release.ymlandgit diff --checkpass.Checklist
Hosted compatibility correction
Initial core CI exposed Compose 2.38.2 truncating the SFTP short-volume target during non-interpolating bundle rendering. The signed follow-up changes only that volume to equivalent long syntax and asserts preservation of the full variable. The failure was reproduced with the hosted Compose version; all 37 Python tests pass on both 2.38.2 and 5.5.1. Normal source config differs only by omission of an empty optional volume-options object. No tests skipped and no version pins or gates changed.