Making releases¶
Making package releases¶
The release procedure for the packages that comprise GROK toolkit, like
grok
and the grokcore.*
family of libraries, follows ZTK’s official
release guidelines.
Releasing a new GROK toolkit version¶
Updating versions of dependencies¶
Manual way¶
To get new version pins into GROK toolkit run the following steps:
Check https://zopefoundation.github.io/zopetoolkit/ whether there is a new version of ZTK. If this is the case update in
grok.cfg
the URL toztk-versions.cfg
.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
grok-versions.cfg
with these new versions and runtox
to run their tests.Run the
checkversion
call 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.txt
andgrok-versions.cfg
.
Creating a release¶
Check whether there is a new version of ZTK (Compare https://zopefoundation.github.io/zopetoolkit/ with
buildout.cfg
)If there is newer version: Update to it and run the tests using
tox -pauto
.
Make sure all tests are running successfully.
Decide on a version number for the new release, taking https://semver.org/ into account. (Please note: dropping support for a Python version is considered a major change as it enforces changes for users of GROK toolkit who are using the no longer supported Python version.)
Update
docs/changes.rst
with a new entry describing your release or update an existing not yet released one. (also set the release date).Update
version
andcopyright
indocs/conf.py
to the new version number.Check the documentation builds using
tox -e docs
and proof-read your changes.Commit your changes to
git
.Create a git tag using
git tag
and your version number.Push your changes, make sure also the tag is pushed.
Switch to the branch
gh-pages
.If you increased the major version number, edit
build_indexes.sh
: In line 8 add an-l
parameter for your new major version number.Run
build_indexes.sh
, add and commit the changes.Push the changes to GitHub, after some minutes the changes should appear at https://zopefoundation.github.io/groktoolkit/.
Create a new release at https://github.com/zopefoundation/groktoolkit/releases.
Setup for Dependabot auto-update¶
You need a personal access token of one of the zopefoundation admins. (Currently one of
icemac
is used.)To create the token go to https://github.com/settings/apps -> Fine-grained personal access tokens:
Repository access:
zopefoundation/groktoolkit
Repository permissions: Read and Write access for Contents
Save the token in your clipboard.
Enter the token at:
Actions secrets: https://github.com/zopefoundation/groktoolkit/settings/secrets/actions -> Repository secrets ->
COMMIT_ACTIONS_TOKEN
Dependabot secrets: https://github.com/zopefoundation/groktoolkit/settings/secrets/dependabot -> Repository secrets ->
COMMIT_ACTIONS_TOKEN