Skip to content

Releasing

rocky edited this page Dec 24, 2020 · 13 revisions

Get latest sources:

$ git pull

Change version in pymathics-graph/version.py

On Mathics3/pymathics-graph master branch. For each release candidate:

update __version__ in pymathics/graph/version.py

$ source pymathics/graph/version.py # to set in POSIX shell
$ echo $__version__
$ git commit -m"Get ready for release $__version__" .

Update Changes

$ make ChangeLog

Update CHANGES.rst from ChangeLog

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

Check package from github

Todo: turn this into a script in admin-tools

$ [[ ! -d /tmp/gittest ]] && mkdir /tmp/gittest; pushd /tmp/gittest
$ pyenv local 3.7.7  # Use a version that is not the most recent
$ pip install -e git://github.com/Mathics3/pymathics-graph.git#egg=pymathics-graph
$ mathics
In[1]:= LoadModule["pymathics-graph"]
In[2]:= WordCount["A man a plan a name Panama"]
Ctrl-D
$ pip uninstall pymathics-graph
$ popd

Make packages and check

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

Release on Github

Goto https://github.com/Mathics3/pymathics-graph/releases/news

https://cloudconvert.com/rst-to-md can be used to change the CHANGES.rst section to markdown.

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
$ pyenv local 3.7.7 # Use a version that is not the most recent
$ pip install -e git://github.com/mathics/Mathics.git@${__version__}#egg=mathics
$ mathics --version
$ mathics -e "1+2"
$ mathicsserver
$ pip uninstall mathics3
$ popd

Upload the release to PyPI

Upload it to PyPI with twine

$ twine upload dist/pymathics-graph-${__version__}*

Post-Release

Clone this wiki locally