maxhoesel-ansible/ansible-collection-smallstep

Release workflow needs to be reworked

Closed this issue · 3 comments

Now that the rest of the collection has been brought back up to a reasonable level of quality, it's time to address the release workflow.

Currently, I'm thinking of having two separate workflows, one for release preparation, and one for actually releasing on main.

Here's what we need to do before pushing to main:

  • Create a new release branch (this could be our trigger to start the workflow, just make sure that this branch is always named release/x.x.x)
  • Generate and commit the new changelog
  • Update galaxy.yml with the new release number
  • Create a PR from the release branch to main

Then, once that PR is approved, a second workflow can actually generate the release:

  • Create a github release with artifacts
  • Publish the collection on ansible-galaxy
  • Merge the changes back to devel

I've finished the release preparation stage in release_0.3.0, but the actual release workflow is still to-do.

A bit of an update on this:

I've been thinking about switching away from a flow-style release (devel -> release -> main) and towards a single main trunk dev model, with releases just being tags on that branch (until we need to support several major versions at least, which i don't think will happen anytime soon). This would make the CI setup much easier (should be as simple as running a single job with a version tag) and would also create a cleaner commit history. Any thoughts on this? I suggest using main as the main branch from now on, with devel being deleted and everything just pushing against main in the future

Implemented with 39a5456