-
Notifications
You must be signed in to change notification settings - Fork 9
Releasing
rocky edited this page Feb 25, 2023
·
11 revisions
Table of Contents
- Get latest sources:
- Change version in mathics/version.py
- Make release branch:
- Update Changes
- Check package from github
- Make packages and check
- Release on Github
- Upload the release to PyPI
- Post-Release
$ git pull
Update __version__
in mathicsscript/version.py
.
$ source mathicsscript/version.py # to set in POSIX shell
$ echo $__version__
$ git checkout -b release-$__version__
$ git commit -m"Get ready for release $__version__" .
$ make ChangeLog
Update NEWS.md
from ChangeLog
.
$ make check
$ 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.10.9
$ pip install -e git+https://github.com/mathics3/mathicsscript.git#egg=mathicsscript
$ mathicsscript --version
$ mathicsscript -c "1+2"
$ pip install -e git+https://github.com/mathics3/mathicsscript.git#egg=mathicsscript[full]
# Try out: Plot[Sin[x], {x, 0, 2 Pi}]
# Try out: Graphics3D[Sphere[]]
$ pip uninstall mathicsscript
$ popd
$ ./admin-tools/check-versions.sh
$ ./admin-tools/make-dist.sh
$ twine check dist/mathicsscript-$__version__*
Goto https://github.com/mathics3/mathicsscript/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/mathicsscript.git@${__version__}#egg=mathicsscript
$ mathicsscript --version
$ mathicsscript -c '1+2'
$ pip uninstall mathicsscript
$ popd
Upload it to PyPI with twine
$ twine upload dist/mathicsscript-${__version__}*
Move uploaded versions to dist/uploaded
.
- Update
__version__
toNEXT_VERSION.dev0
- Update docker setup
- Announce release on Google-Groups pages