Skip to content

Releasing

rocky edited this page May 4, 2026 · 1 revision

Get latest sources:

$ git pull

Change version in mathics3_notebook_frontends/version.py

Change __version__ in mathics3_kernel.frontend.version.py.

$ source mathics3_kernel/frontend/version.py # to set in POSIX shell
$ echo $__version__

Make release branch:

$ git checkout -b release-$__version__
$ git commit -m"Get ready for release $__version__" .

Update Changes

$ make ChangeLog

If ChangeLog has spelling typos, make the corrections and:

$ cp ChangeLog ChangeLog-spell-corrected
$ mv ChangeLog.orig 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

Update CHANGES.rst from ChangeLog.

Go over version numbers in screenshots and examples in README.rst

$ make check
$ git commit --amend .
$ git push   # get CI testing going early

http://rst.ninjs.org/ can be used for checking the RsT.

$ git push  -u origin HEAD # get CI testing going early

Create GithHub PR and check CI on GitHub.

Create a GitHub pull request. After CI finishes, and PR merged:

$ git checkout master
$ git pull origin HEAD

Check package from github, then...

Todo: turn this into a script in admin-tools

$ [[ ! -d /tmp/gittest ]] && mkdir /tmp/gittest; pushd /tmp/gittest
$ pyenv local 3.12.6 # or not newest version
$ pip install -e git+https://github.com/Mathics3/Mathics3-notebook-frontends.git#egg=mathics3_notebook_frontends
$ pip uninstall mathics3_notebook_frontends
$ popd

Make packages and check

$ (cd ./admin-tools && bash ./make-dist.sh)
$ twine check dist/mathics3_notebook_frontends-$__version__*

Release on Github

Goto https://github.com/Mathics3/Mathics3-omnibus/releases/new

Now check the tagged release. (Checking the untagged release was previously done).

Todo: turn this into a script in admin-tools

$ git pull # to pull down new tag
$ pushd /tmp/gittest
$ pip install -e git+https://github.com/mathics3/mathics3_notebook_frontends.git@${__version__}#egg=mathics3_notebook_frontends
$ pip uninstall mathics3_notebook_frontends
$ popd

Upload the release to PyPI

Upload it to PyPI with twine

$ twine upload dist/mathics3_notebook_frontends-${__version__}*

Move uploaded versions to dist/uploaded.

Post-Release