-
-
Notifications
You must be signed in to change notification settings - Fork 314
ReleaseManagement
The following are step by step instructions on how to package a release.
Make sure the source builds and works locally, and the docs build with no errors
Make sure the source passes GitHub Actions CI, OGC CITE tests and unit tests
Create a release tag against master:
- update desired branch with
x.y.zinpygeoapi/__init__.pyanddocs/source/conf.py - commit the above updates:
# in branch master
git commit -m 'update release version' pygeoapi/__init__.py docs/source/conf.py
git push origin master # or branch if releasing from a branchRelease tags are in the format x.y.z
If releasing from master:
git tag -a x.y.z -m 'tagging x.y.z'
git push --tagsIf a stable branch is required:
git checkout -b x.y
vi requirements.txt # pin requirements in requirements.txt as per RFC2
git commit -m 'pin requirements to stable branch' requirements.txt
git push x.yIf releasing from a branch:
git checkout x.y
git tag -a x.y.z -m 'tagging x.y.z'
git push --tagsRelease to PyPI:
python3 setup.py sdist bdist_wheel --universal
twine upload dist/*Ensure Docker Image on DockerHub for release/tag (you'll need permission for that repo on DockerHub).
Docker images are automatically built against master and release tags, deploying to DockerHub and GitHub Container Registry.
As part of the release process, ensure that the tag has been published to DockerHub. This process is started once the release tag is pushed to GitHub, and thus may take some time to complete. Once the tag is visible on DockerHub, you may continue to Step 5.
Upgrade stable version of pygeoapi on demo.pygeoapi.io/stable. Not automated yet!
Requires changes within the demo.pygeoapi.io GitHub repo and the demo server:
- edit/commit/push
services/pygeoapi_stable/docker-compose.yml: set new version tagx.y.zofimage: geopython/pygeoapi: x.y.z - edit/commit/push
services/pygeoapi_stable/local.config.yml: set new version inmetadata.identification.title - login with admin account on demo server
demo.pygeoapi.io cd ~/git- pull changes on server:
./refresh-git.sh - no rebuild needed, only possible changes in local.config.yml if config-conventions have changed
- restart:
cd ~/git/services/pygeoapi_stable- restart:
./stop.shthen./start.sh
Update https://github.com/geopython/pygeoapi.io/blob/master/docs/download.md
Push updates
git commit -m 'update release' docs/download.md
git push origin masterAdd the x.y.z documentation to readthedocs.org
- go to https://readthedocs.org/projects/pygeoapi
- under 'Build a version', select 'latest' and click 'Build'
- this will cause readthedocs.org to sync release tags, new version will appear
- go to https://readthedocs.org/projects/pygeoapi/versions
- find x.y.z
- click 'Active' and ensure visibility is set to 'Public'
- click 'Submit'
Create a release on GitHub.
- Go to https://github.com/geopython/pygeoapi/releases
- Click 'Draft a new release'
- Under 'Tag Version' add the relevant release tag (x.y.z)
- Release title should be
pygeoapi x.y.z - Release description should be per below:
The pygeoapi team announces the release of x.y.z.
<high level description>
## Download
- source code: https://pygeoapi.io/download
- PyPI: https://pypi.org/project/pygeoapi
## At a glance
- [xx Issues fixed](https://github.com/geopython/pygeoapi/issues?q=is%3Aissue+milestone%3Ax.y.x+is%3Aclosed)
- [xx Pull Requests contributed](https://github.com/geopython/pygeoapi/pulls?q=is%3Apr+milestone%3Ax.y.z+is%3Aclosed)
## API
- TODO
## Web/UI/HTML
- TODO
## Providers
- TODO
## Configuration
- TODO
## Documentation
- TODO
## Other
- TODO
## Thanks
The pygeoapi team gives thanks for all contributions made for this release.
As always, all contributions are always welcome.
The pygeoapi team
https://pygeoapi.io
- Email mailing list:
Subject: pygeoapi x.y.z released
Body:
The pygeoapi team announces the release of pygeoapi x.y.z.
Please see the release announcement at https://github.com/geopython/pygeoapi/releases/tag/x.y.z for more information.
The pygeoapi team gives thanks for all contributions made for this release.
As always, all contributions are always welcome.
The pygeoapi team
https://pygeoapi.io
- Toot release from pygeoapi Mastodon account with link to GitHub release
Tweet release from the pygeoapi Twitter account with link to GitHub release- Send message of release to pygeoapi Gitter channel
- Update the pygeoapi OSGeo project page if features have been updated (i.e. new standard support, etc.)
Update version in master back to dev (x.y.dev0)



