-
Notifications
You must be signed in to change notification settings - Fork 0
Releasing
rocky edited this page Aug 30, 2025
·
16 revisions
Table of Contents
- Get the latest sources:
- Change version in version.py
- Update ChangeLog:
- Update CHANGES.rst from ChangeLog
- Check the package from GitHub
- Make packages, check, and tag
- Release on GitHub
- Get on PyPI
- Push and Pull tags:
- Move dist files to
uploaded
git pull
If we are tracking an API change, check .github/workflows
to see if we can use PyPI packages instead of GitHub repositories.
$ emacs pymathics/version.py
$ source pymathics/version.py
$ echo $__version__
$ git commit -m"Get ready for release $__version__" .
$ make ChangeLog
$ codespell ChangeLog
If ChangeLog has spelling typos, make the corrections and:
$ cp ChangeLog ChangeLog-spell-corrected
$ mv ChangeLog.orig ChangeLog
$ make ChangeLog
$ diff -u ChangeLog ChangeLog-spell-corrected
If the diff looks like it captures the corrections:
$ diff -u ChangeLog ChangeLog-spell-corrected > ChangeLog-spell-corrected.diff
$ emacs CHANGES.rst
$ git commit --amend .
$ git push # get CI testing going early
Todo: turn this into a script in admin-tools
$ [[ ! -d /tmp/gittest ]] && mkdir /tmp/gittest; pushd /tmp/gittest
$ pyenv local 3.13.5 # or some other non-current version
$ pip install -e git+https://github.com/Mathics3/Mathics3-Module-Base.git#egg=mathics3-module-base
$ pip show mathics3-module-base
$ pip uninstall mathics3-module-base
$ popd
$ make dist
$ twine check dist/mathics3_module_base-$__version__*
Goto https://github.com/Mathics3/Mathics3-Module-Base/releases/new
Set version, copy in CHANGES.rst
item, upload binaries.
Now check the tagged release. (Checking the untagged release was previously done).
Todo: turn this into a script in admin-tools
$ [[ ! -d /tmp/gittest ]] && mkdir /tmp/gittest
$ pushd /tmp/gittest
$ pyenv local 3.13.5
$ pip install -e git+https://github.com/Mathics3/Mathics3-Module-Base.git@$__version__#egg=mathics3-module-base
$ pip uninstall mathics3_module_base
$ popd
$ twine upload --verbose dist/mathics3_module_base-${__version__}*
Check on https://pypi.org/project/Mathics3-Module-Base/
$ git pull --tags
$ mv -v dist/mathics3_module_base-${__version__}* dist/uploaded
Update __version__
to NEXT_VERSION.dev0