ci: prepare exact RC1 distribution delivery #27

Merged
KofTwentyTwo merged 2 commits from feature/GH-921-qqq-all-rc-path into develop 2026-10-02 01:24:39 +00:00
KofTwentyTwo commented 2026-10-02 01:13:29 +00:00 (Migrated from github.com)

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

  • Build / CI
  • Test Addition
  • Documentation Update

Testing

  • python3 -m unittest discover -s scripts -p 'test_*.py' -v: 37 passed.
  • 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.
Sign in to join this conversation.