0.7.0 triple rehearsal (2026-10-27)
Before the TASK-32 gate, after PR #115 re-scoped TASK-73 and TASK-77 out
of m-6, the three release trains were dry-run together on main at
2427e37 with one prerelease tag each (annotations carry the rehearsal
notes; a tag is never moved):
git tag -a python-v0.7.0-rc.1 2427e37 -m "qgis-sdk 0.7.0-rc.1 (rehearsal) ..."git tag -a ts-v0.5.0-rc.1 2427e37 -m "@archont561/qgis-sdk 0.5.0-rc.1 (rehearsal) ..."git tag -a ui-v0.1.0-rc.3 2427e37 -m "@archont561/qgis-sdk-ui 0.1.0-rc.3 (rehearsal) ..."git push origin python-v0.7.0-rc.1 ts-v0.5.0-rc.1 ui-v0.1.0-rc.3| Tag | release.yml run |
Outcome |
|---|---|---|
ts-v0.5.0-rc.1 |
40566502962 | every job green: build stamped 0.5.0-rc.1 for scope typescript (package.json, the qgis-sdk alias and its pin, SDK_NPM_VERSION), verify-versions agreed, bridge built; npm and github-packages ran their dry-runs under dist-tag next with every publish step skipped as prerelease; github-release published the prerelease with archont561-qgis-sdk-0.5.0-rc.1.tgz, qgis-sdk-0.5.0-rc.1.tgz and SHA256SUMS. npm still serves @archont561/qgis-sdk@0.4.0 as latest |
ui-v0.1.0-rc.3 |
40566503512 | every job green, as ui-v0.1.0-rc.2 above: pack check, alias and bridge tarballs, smoke install, npm publish --dry-run --tag next for both names, publish steps skipped; prerelease ui-v0.1.0-rc.3 with the two tarballs and SHA256SUMS. npm still lists both names at 0.0.0 only |
python-v0.7.0-rc.1 |
40566503318 | build failed at “Verify the stamped manifests”: stamp --scope python --version 0.7.0-rc.1 writes the example’s windows as the clean minor line (qgis-sdk-runtime>=0.7,<0.8, an example never pins a prerelease) and verify-versions then asked whether 0.7.0-rc.1 lies in that window on full SemVer order, where 0.7.0-rc.1 < 0.7.0. Every later job skipped; nothing was built or uploaded |
The Python failure is a release-tool defect, not a package one: the tools’
own VERSION004 reads such a window on release segments only, so the
stamped 0.7.0rc1 tools accept the example - verify-versions disagreed
with the rule it exists to mirror. The example-window check post-dates
the python-v0.5.0-rc.1 rehearsal (it arrived with the 0.6.0 stamping of
the example’s windows), so no -rc.N of the Python scope had exercised
it. The fix (fix(release): example_window_includes compares the
release’s core version, test
test_verify_versions_reads_the_example_window_on_release_segments)
reproduces the failing stamp-then-verify in tests/scripts and, replayed
on the real tree, stamp + verify-versions --scope python at
0.7.0-rc.1 now agree on all nine entries. Since a tag is never moved,
the second rehearsal is python-v0.7.0-rc.2 on the merge commit that
carries the fix.
Second Python rehearsal (2026-10-27, after PR #116 merged as
a161d4b). python-v0.7.0-rc.2 on a161d4b, release.yml run
40568446905,
every job green: build stamped 0.7.0-rc.2, “Verify the stamped
manifests” passed, three wheels built and twine-checked, three Conda
outputs built; pypi ran “Verify the wheel without uploading” with its
three publish steps skipped, conda skipped the prefix.dev upload, both
as prerelease; github-release published the prerelease with
qgis_sdk-0.7.0rc2, qgis_sdk_runtime-0.7.0rc2, qgis_sdk_tools-0.7.0rc2
wheels, qgis-sdk-0.7.0rc2-pyhe696c0e_0.conda,
qgis-sdk-runtime-0.7.0rc2-pyh4616a5c_0.conda,
qgis-sdk-tools-0.7.0rc2-pyh4616a5c_0.conda and SHA256SUMS. PyPI still
lists qgis-sdk up to 0.6.0. All three trains of the triple are proven.
Open for the stamp pull request of the real triple, found while
rehearsing: packages/qgis-sdk-ui/package.json peers on
@archont561/qgis-sdk >=0.4.0 <0.5.0, which verify-versions --scope ui
will refuse once the bridge is stamped 0.5.0; the range moves to
>=0.5.0 <0.6.0 by hand in that pull request (no stamp scope owns it,
by design - the components declare which bridge they were qualified
with).