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

Add initial release-drafter workflow #3125

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

martinhoyer
Copy link
Collaborator

@martinhoyer martinhoyer commented Jul 31, 2024

To further automate the release process, I've been looking into github releases. After evaluating various options, like .github/release.yml, I'm proposing release-drafter , which seems to be the most popular tool specifically for this.

The initial template aims to keep everything as is, but could be a base to further improve the release notes (see available configuration options)

Note I've added:

exclude-labels:
  - 'ignore-for-release'

this, or some similarly named label could be used for merges that should be omitted from release notes, e.g. single-line typo fix that blocks release :)

TODO:

  • use replacers for tmt rtd link

@martinhoyer martinhoyer added the code | no functional change "No Functional Change" intended. Patch should not change tmt's behavior in any way. label Jul 31, 2024
@martinhoyer martinhoyer self-assigned this Jul 31, 2024
default: patch
replacers:
- search: '/releases\.html#tmt-(\d+)\.(\d+)\.(\d+)/'
replace: 'releases.html#tmt-$1-$2-$3'
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would require consistent versioning in tmt.readthedocs going forward. For example: 1.35.0 as opposed to 1.35.
Historically, it has not been the case: e.g. tmt-1.32, tmt-1.32.2.

Copy link
Contributor

@LecrisUT LecrisUT left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a similar action changesets/action (example) which instead of creating draft releases, it creates an "immortal" PR. Wdyt about that workflow?

.github/workflows/draft.yml Outdated Show resolved Hide resolved
@martinhoyer
Copy link
Collaborator Author

There is a similar action changesets/action (example) which instead of creating draft releases, it creates an "immortal" PR. Wdyt about that workflow?

Not sure about this tbh.
I think in tmt we only need to automate the gh release notes, and quite possibly the check for new contributors, at least with the current workflow, i.e. keeping github release notes short-ish and documenting the more interesting changes in rtd in more detail.

@LecrisUT
Copy link
Contributor

LecrisUT commented Aug 2, 2024

The main difference is that with the draft releases is that it is only visible to GH contributors, while the PR is more interactive. changesets/action itself, I don't think it's a good action here (because it is focused on npm projects), but the workflow it implements is the main thing to consider here.

@martinhoyer
Copy link
Collaborator Author

The main difference is that with the draft releases is that it is only visible to GH contributors, while the PR is more interactive. changesets/action itself, I don't think it's a good action here (because it is focused on npm projects), but the workflow it implements is the main thing to consider here.

Well, there is docs/releases.rst for that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code | no functional change "No Functional Change" intended. Patch should not change tmt's behavior in any way.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants