-*- org -*-

https://packaging.python.org/

* CHANGELOG should contain entry for each change
See https://keepachangelog.com/en/1.0.0/
**  Template
## [VERSION] - YYYY-MM-DD
## [Unreleased]

### Added
### Changed
### Deprecated
### Removed
### Fixed
### Security
* README/Future development
Make sure to be in line with the release
* doc/
** TODOs
** BUGSs
* Contact info in COPYRIGHT
Make sure the contact info at the end of the COPYRIGHT is correct.
* Minimum Python version
** proram_info.py
** setup.py
** README
* Set version number
** Validate syntax
python3 -m rstvalidator README.rst
** code
src/exactly_lib/program_info.py
** CHANGELOG
* Test
** run-test-suite.py
** Run tests towards installed program
In virtual environment
Make release artifacts
 > make clean
 > make build
 > make install
 > python test/run-test-suite-towards-installed-program.py
 > make uninstall-venv
** run exactly tests
 > exactly suite test/exactly-cases
** run on as many platforms as possible - on linux using docker
* Make sure syntax of examples is correct
* github pages - Add Ref Man for release
** exactly/version/Z-Y-Z/reference-manual.html
* README - link to Ref Man on github pages
** README - update link to Ref Man on github pages
** Check that link from README shows Ref Man for correct version
* github pages - Add README for the new release
** exactly/version/Z-Y-Z/README.rst
* Set release date
** COPYRIGHT
Make sure release year is included in COPYRIGHT
** CHANGELOG
* Make release artifacts
** Remove existing distributables
> make clean
** Make distributables
Distribute source and wheel

> make build
* Upload to PyPi test
** Upload
Run:

> python setup.py register -r pypitest

This will attempt to register your package against PyPI's test server, just to
make sure you've set up everything correctly.

Then, run:

> python setup.py sdist upload -r pypitest

You should get no errors, and should also now be able to see your library in
the test PyPI repository.
** Check
*** README: links to RefMan
* Upload to PyPi prod
> make upload
* github pages: Make "latest" sym link point to latest release
exactly/version/latest
* wiki
** Update examples
Run tests in examples/wiki,
and if changes are needed to make these work,
make the same changes to wiki.
* Tag repo with version
Tag repo after upload to PyPi,
so that the release on PyPi is verified.

> git tag vVERSION
> git push --tags
* Make release on github
* Learning PyPi
http://peterdowns.com/posts/first-time-with-pypi.html
** Upload to PyPI Live

Once you've successfully uploaded to PyPI Test, perform the same steps but
point to the live PyPI server instead. To register, run:

> python setup.py register -r pypi
Then, run:

> python setup.py sdist upload -r pypi
and you're done! Congratulations on successfully publishing your first package!
