Plone 6 frontend and backend automated release and unified changelog
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.