7.3.2.2.2. Release to GitHub and Deploy to PuppetForge¶
Each SIMP component is configured to automatically create a GitHub release and push the release to PuppetForge, when an annotated tag is created for the GitHub project and the CI tests for the annotated tag push succeed.
To create the releases from an annotated tag:
Clone the component repository and checkout the development branch to be tagged
git clone git@github.com:simp/pupmod-simp-iptables.git cd pupmod-simp-iptables git checkout master # this step isn't needed for master branch
Generate the changelog content
bundle update bundle exec rake pkg:create_tag_changelog > foo
Create the annotated tag. In this example the content of ‘foo’ is:
Release of 6.0.2 * Wed May 24 2017 Brandon Riden <brandon.riden@onyxpoint.com> - 6.0.2-0 - Added a workaround for Puppet 4.10 type issues - There was a bug in Puppet where all lookup() Hash keys were being converted into Strings even if they were another data type - This is fixed in Puppet > 4.10.2 but this patch will remain for backwards compatibility - Update puppet dependency in metadata.json - Remove OBE pe dependency in metadata.json
git tag -a 6.0.2 -F foo git push origin 6.0.2
Note
For markdown-style changelogs, you will need to specify
--cleanup=whitespace
so comment headers are not stripped.Verify GitHub Actions completes successfully
Important
If any of the required builds for the project fail, for example due to intermittent connectivity problems, you can complete the release process by manually restarting the failed build on the GitHub Actions page for that build.
Verify release exists on GitHub. This release will have been created by
simp-auto
.