- Include the full Mulan PSL v2 text and preserve upstream notices; confirm the separately vendored Go driver's license or approved replacement and the resulting bridge binary (see Stage 0)
- Confirm the isolated DM test account and full integration run are recorded; a CI skip is not a pass
- Confirm the tag's
real-dmjob passed against the pinned DM8 development container; startup, connection, test failure, or skip must fail the job - Set the GitHub repository variable
DMPYTHON_RELEASE_ENABLED=trueonly after the Go component's distribution rights are documented; leave it unset while unresolved - Confirm the final sdist excludes local DPI headers and the final wheel contains only approved components
- Confirm DPI headers and the database image were not uploaded as workflow artifacts
- Recheck PyPI project name and target version before any upload
- Run
./scripts/release_preflight.sh vX.Y.Z - For the candidate commit, rehearse the five-wheel and sdist bundle locally with
scripts/release_assets.py prepare <directory> --tag vX.Y.Zfollowed byverify; record the manifest checksums and confirm a secondprepareproduces the same files - Confirm workflow lint and actionlint checks are green
- Confirm version consistency (
pyproject.toml,setup.py,src/native/py_Dameng.h,dmPython.version) - Confirm third-party patch checks pass (
scripts/check_third_party_patch.py)
- Run
DYLD_LIBRARY_PATH="$PWD/dpi_bridge" python -m pytest -q --require-dm -m requires_dm testswith an isolated test database - Confirm P0/P1/P2 integration markers are green
- Confirm no
Segmentation fault/ no139/-11exits
- Push release tag
vX.Y.Z - Confirm
Build macOS wheelsworkflow succeeds for all Python targets (cp39/cp310/cp311/cp312/cp313) - Confirm release step is idempotent (re-run does not fail)
- Confirm 5 arm64 wheel assets exist on release page
- Confirm
checksums.txtis attached - Confirm
build-metadata.jsonis attached - Spot-check one wheel install and
import dmPython
- Update
CHANGELOG.mdif needed - Verify release notes and links are correct
- Record any incidents/fixes back into
PATCHES.mdor docs - Confirm
docs/ROADMAP.mdphase status is synchronized with the latest completed milestone (status/date/evidence links)