-
-
Notifications
You must be signed in to change notification settings - Fork 311
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 Travis 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 - update changelog information in
debian/changelog - commit the above updates:
# in branch master
git commit -m 'update release version' pygeoapi/__init__.py docs/source/conf.py debian/changelog
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 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/*Create Docker Image on DockerHub for release/tag (you'll need permission for that repo on DockerHub):
- Go to pygeoapi DockerHub Builds Page.
- Press the blue button "Configure Automated Builds"
- Under "Build Rules" press the '+' button
- In new build rule choose: Source Type
tagand fill-in new tagx.y.zin Source and Docker Tag columns - Disable toggle Build Caching in last column
- Press the button Save (Save and Build will build all tagged Images!)
- Press the button Trigger Build
- Inspect the build progress (may take up to 15 mins!) on builds
Upgrade stable version of pygeoapi on demo.pygeoapi.io/stable. Not automated yet!
Requires changes within the demo.pygeoapi.io GH repo and the demo server:
- edit/commit/push docker-compose file: set new version tag
x.y.zofimage: geopython/pygeoapi: x.y.z - edit/commit/push the stable configuration: set new version in
metadata.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'
- Update mailing list:
The pygeoapi team announces the release of pygeoapi x.y.z.
<release highlights>
Source and binary downloads:
----------------------------
The source code is available at:
https://pygeoapi.io/download
PyPI packages are available at:
https://pypi.org/project/pygeoapi
Version x.y.x (YYYY-MM-DD)
--------------------------
[Bulleted list of enhancements / bug fixes]
All contributions are always welcome.
The pygeoapi team
https://pygeoapi.io
-
Tweet release from the pygeoapi Twitter account with link to announcement from mailing list
-
Update the OSGeo project page if features have been updated (i.e. new standard support, etc.) x
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:
- major or minor releases:
pygeoapi x.y.z has been released. See the [release announcement](URL) for more information.-
URLshould be a link to the announcement made on the pygeoapi mailing list
-
- patch/bugfix releases:
pygeoapi x.y.z has been released. This release is a maintenance/bugfix release.
- major or minor releases:
Refresh zenodo/DOI
- Go to https://zenodo.org/account/settings/
- Click "Sync now"
- See newly minted DOI based on new pygeoapi version
- update pygeoapi README
- click on "Get the DOI badge!"
- copy the Markdown
- update
README.md git commit -m 'update DOI' README.md && git push origin master
Update version in master back to dev (x.y.dev0)



