Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Improve release tooling #18

Open
lkubb opened this issue Aug 1, 2024 · 0 comments · May be fixed by #72
Open

[Feature] Improve release tooling #18

lkubb opened this issue Aug 1, 2024 · 0 comments · May be fixed by #72

Comments

@lkubb
Copy link
Member

lkubb commented Aug 1, 2024

Cutting a new release is currently more involved than I would like (https://salt-extensions.github.io/salt-extension-copier/topics/publishing.html). This is caused by the towncrier design.

Imo, this process should be cut down to a single step. The issue is that the changelog needs to be built somehow and be included in the tag. Solutions I came up with so far:

Retag

  • The maintainer pushes a new tag.
  • Usual CI runs.
  • Before running the release workflows, a separate workflow does the following:
  1. run towncrier build
  2. commit & push
  3. remove tag + github release, tag the new commit with the previous version
  • then the release workflows run (this needs to happen in the same event, it does not trigger a new one)

Benefits:

  • intuitive

Drawbacks:

  • still requires CLI

Issues with this approach:

Automated PR

Basic idea from here: twisted/towncrier#585 (comment)

The idea is that any pushes to the default branch trigger a workflow that builds the updated changelog and submits a PR from a release/x.y.z branch with the changes. It automatically determines the semantic version by defaulting to a patch bump, unless it finds

  • .added.md (minor bump)
  • .removed.md / BREAKING in a description (major bump)

Merging this PR then triggers a tag + release workflow.

Benefits:

  • simple since it automates the towncrier design, does not work around it
  • can be accomplished only from the browser
  • still allows manual intervention

Drawbacks:

  • designing the second workflow might be tricky

Issues with this approach:

  • maintainers should take care to ensure the rendered release date is correct
@lkubb lkubb changed the title Improve release tooling [Feature[ Improve release tooling Aug 27, 2024
@lkubb lkubb changed the title [Feature[ Improve release tooling [Feature] Improve release tooling Aug 27, 2024
@lkubb lkubb linked a pull request Oct 8, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant