|
|
|
## Release versioning convention:
|
|
|
|
|
|
|
|
* Major version update (1.0 -> 2.0) when including significantly new functionality, where changes are not compatible with previous versions
|
|
|
|
* Minor version update (1.0 -> 1.1) when adding new functionality that remain backwards compatible
|
|
|
|
* Patch version update (1.0 -> 1.0.1) when adding patches that remain backwards compatible
|
|
|
|
|
|
|
|
## Steps required to make a new release
|
|
|
|
|
|
1. Create a new branch named `release_vX.Y.Z` from the master branch
|
|
1. Create a new branch named `release_vX.Y.Z` from the master branch
|
|
2. Merge all changes into the release branch
|
|
2. Merge all changes into the release branch
|
|
3. Make sure all unit tests and doc tests are passing successfully on the GitLab server
|
|
3. Make sure all unit tests and doc tests are passing successfully on the GitLab server
|
|
4. Update the change log (`docs/source/versions/changelog.rst`)
|
|
4. Make sure all [tutorials](https://gitlab.meridian.cs.dal.ca/public_projects/ketos_tutorials) are working; if necessary update tutorials and copy new html files to the appropriate folder in the ketos docs section.
|
|
5. Update the version number in `setup.py` and `docs/source/conf.py`
|
|
5. Update the change log (`docs/source/versions/changelog.rst`)
|
|
6. Commit and push changes from step 4 and 5 to the release branch
|
|
6. Update the version number in `setup.py` and `docs/source/conf.py`
|
|
7. Build the documentation:
|
|
7. Commit and push changes from step 4 and 5 to the release branch
|
|
|
|
8. Build the documentation:
|
|
```terminal
|
|
```terminal
|
|
cd docs/
|
|
cd docs/
|
|
make html
|
|
make html
|
|
```
|
|
```
|
|
8. Review the documentation
|
|
9. Review the documentation
|
|
9. Create a merge request for the release branch into the master branch (Note: Do <it>not<it> select `Delete source branch`)
|
|
10. Create a merge request for the release branch into the master branch (Note: Do <it>not<it> select `Delete source branch`)
|
|
10. Once this merge request has been reviewed and accepted, upload the new version to PyPI:
|
|
11. Once this merge request has been reviewed and accepted, upload the new version to PyPI:
|
|
```terminal
|
|
```terminal
|
|
python setup.py sdist bdist_wheel
|
|
python setup.py sdist bdist_wheel
|
|
twine upload dist/ketos-X.Y.Z.tar.gz
|
|
twine upload dist/ketos-X.Y.Z.tar.gz
|
|
```
|
|
```
|
|
11. Finally, upload the documentation to the docs server:
|
|
12. Finally, upload the documentation to the docs server:
|
|
```terminal
|
|
```terminal
|
|
cd docs
|
|
cd docs
|
|
./upload.sh
|
|
./upload.sh
|
... | | ... | |