Releasing skyulf-core
Preconditions
- The target change is merged to
master. - The skyulf-core test workflow, static checks, security scan, and documentation build are green.
- The version in
skyulf-core/setup.pyfollows semantic versioning and is not already tagged ascore-v<version>. CHANGELOG.mdand the applicablechangelog/<series>.mdentry describe user-visible changes.
Local distribution verification
rm -rf skyulf-core/dist
python -m pip install --upgrade build twine
python -m build --outdir skyulf-core/dist skyulf-core
twine check skyulf-core/dist/*
python .github/scripts/verify_skyulf_core_distribution.py skyulf-core/dist/*.whl
Publishing
Merge the version change to master. The Release skyulf-core workflow uses PyPI Trusted Publishing, publishes the already-validated distribution, and creates the core-v<version> tag. Do not add a PyPI API token to the repository.
Post-release checks
python -m venv /tmp/skyulf-core-release-check
/tmp/skyulf-core-release-check/bin/python -m pip install --upgrade pip skyulf-core
/tmp/skyulf-core-release-check/bin/python -c "from skyulf import SkyulfPipeline; print(SkyulfPipeline)"