Updating the ZTK itself¶
Updating versions of dependencies¶
Manual way¶
To get new version pins into ZTK run the following steps:
tox -e checkversions | grep "="This command lists the packages where newer versions are available. (The grep is needed to omit the other rubbish rendered by the command call.)
Update
ztk-versions.cfgwith these new versions and runtoxto run their tests.Run the
checkversioncall from above again to make sure all possible versions are updated.If the test runs are successful: create a pull request on GitHub.
Automated way¶
There is a dependabot configuration automatically updating
dependabot/requirements.txt.And there is a GitHub actions job syncing between
dependabot/requirements.txtandztk-versions.cfg.
Creating a release¶
Make sure all tests are running successfully.
Check wether the supported Python version are correct in
README.rstas well asztk-versions.cfg, see.github/workflows/tests.ymlfor the Python versions under test.Decide on a version number for the new release, taking https://semver.org/ into account. (Please note: dropping support for a Python version is no longer considered a major change, as it is the usual way of life.)
Create a change log page in
docs/releaseswith the name of your release number and describe the most important changes in the new release.Mention that the buildout versions file can be found at https://zopefoundation.github.io/zopetoolkit/.
Add the name of the file to
doc/releases/index.rst.Check the documentation builds using
tox -e docsand proof-read your changes.Commit your newly added file and the changes via
git.Create a git tag using
git tagand your version number.Push your changes, make sure also the tag is pushed.
Switch to the branch
gh-pages.Run
build_indexes.sh, add and commit the changes.If you created a new major release, you need to update
build_indexes.sh, so it can find it.
Push the changes to GitHub, after some minutes the changes should appear at https://zopefoundation.github.io/zopetoolkit/.
Create a new release on https://github.com/zopefoundation/zopetoolkit/releases
Setup for Dependabot auto-update¶
You need a personal access token of one of the zopefoundation admins. (Currently one of
icemacis used.)To create the token go to https://github.com/settings/apps -> Fine-grained personal access tokens:
Repository access:
zopefoundation/zopetoolkitRepository permissions: Read and Write access for Contents
Save the token in your clipboard.
Enter the token at:
Actions secrets: https://github.com/zopefoundation/zopetoolkit/settings/secrets/actions -> Repository secrets ->
COMMIT_ACTIONS_TOKENDependabot secrets: https://github.com/zopefoundation/zopetoolkit/settings/secrets/dependabot -> Repository secrets ->
COMMIT_ACTIONS_TOKEN