Plone 6 frontend and backend automated release and unified changelog

published Oct 12, 2022

Talk by Valentina Balan at the Plone Conference 2022 in Namur.

This demo covers how the automated release works on Plone 6 projects ( frontend and backend ) for the github.com/eea Volto add-ons and Python eggs.

On each release on frontend and backend projects, a text is extracted that contains all the relevant information using the changelog of the updated Volto add-ons, Python eggs and the Plone/Volto releases. The unified changelog is then saved on the release on GitHub, and can later be viewed in the control panel from volto-eea-kitkat addon.

The GitHub repositories eea/eea-website-frontend and eea/eea-website-backend will be used in the demo. The automation jobs are running in Jenkins.

How is this done? On the backend you have a Plone site with eea.kitkat and on the front end volto-eea-kitkat. This saves old versions and update date in Plone registry. Plus Volto code.

We have the eea/plone-backend Docker image, based on plone/plone-backend. And then an image per project.

For Python egg releases, we use the GitFlow procedure, using eea.docker.gitflow. This means any commit to master is considered to be fine for a release. We extract the change log text from the commits, and is reviewed before merge.

On the front end we use auto-changelog.

When we release a new version of a Volto add-on, a script goes to all our other add-ons, and edits the package.json to update the version.