Keep nightly versions ahead of published stable releases - #975
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Independent review completed for exact head The six-file diff keeps CMake as the version authority and preserves the existing signing, immutable inventory, source-ref, and stable-release policies. Review caught and resolved bootstrap identity validation and invalid build-metadata parsing before publication. Numeric stable selection and both fresh-metadata guards are covered by executable regressions. I independently replayed all 185 contracts, including 27 guard tests, actionlint 1.7.12, and the updater's real promotion regression. Live release metadata rejects both obsolete nightly bases and accepts the corrected base. Executing the actual draft-upload/guard/publication scripts with an isolated fake GitHub client proves that a stable advance or API failure after upload prevents the undraft command. No blocking source findings remain. Fresh PR CI must finish before the authorized normal merge; no release operation is delegated to this PR. |
|
The first CI attempt failed only Reran only the failed job of PR-event run |
|
Attempt 3 passed all required checks at the unchanged reviewed head: eight successes and four expected release-job skips. Merged normally as |
Correction
Set the authoritative Qt project base to
1.0.2. With stablev1.0.1already published, both1.0.0-nightly.620.1and1.0.1-nightly.620.1compare below that stable version. The corrected generator produces1.0.2-nightly.620.1.Require a nightly base strictly greater than the highest numeric SemVer published stable. Fetch release metadata at publish-request preflight and again after draft asset upload, immediately before making the draft public. Missing or malformed metadata fails closed. Drafts, prereleases, and non-SemVer historical tags do not set the stable base; valid build metadata does not change precedence. With no published stable, a correctly formed nightly identity is still required.
The six-file change preserves source-ref pinning, update-key requirements, signing policy, immutable artifact verification, and the stable-release workflow. It does not dispatch, sign, publish, retag, or delete any release.
Verification
Independently replayed on the reviewed source:
actionlint v1.7.12passed forqt-ci.yml;git diff --checkpassed.1.0.2-nightly.620.1against stable1.0.1.1.0.2or1.0.3during upload, or when the fresh API request failed. The unchanged-stable control reached publication.stable_promotes_the_same_base_nightly_on_both_channelsregression passed.No production streaming behavior changes. Existing native wheel/HOTAS deferral and physical-hardware qualification limits are unchanged.