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

Source GitHub Release description from CHANGELOG.md #268

Open
guseggert opened this issue Apr 5, 2023 · 3 comments
Open

Source GitHub Release description from CHANGELOG.md #268

guseggert opened this issue Apr 5, 2023 · 3 comments
Assignees
Labels
dif/medium Prior experience is likely helpful P1 High: Likely tackled by core team if no one steps up

Comments

@guseggert
Copy link
Contributor

guseggert commented Apr 5, 2023

Currently we use Unified CI for tagging releases based on version.json, but we'd like to minimize the effort for cutting releases so that we can cut them more frequently.

So I propose we instead cut releases using https://github.com/pl-strflt/changelog-driven-release. Basically the workflow would look like:

  • Accumulate changes in the [Unreleased] section of the CHANGELOG
    • These should be added as commits are added, and the CHANGELOG update should happen as part of the PR for a feature
  • When ready to release, change [Unreleased] to [vX.Y.Z] YYYY-mm-dd, which is then detected by CI as a release and results in a new tag and a GitHub release with the changelog contents in the release notes.

Other requirements:

  • We currently run Kubo tests for each release, until enough are moved into Boxo, so we need to run releases on a release-vX.Y.Z branch and merge into release which should trigger the release. This way we don't have to "freeze" main while we do a release. Once the release is complete, merge release into main (which should NOT trigger a release). This is different than most folks, who just merge to main which triggers a release based on the tip of main...we do NOT want this behavior.
  • We love all the checks that Unified CI does for releases and would like to keep them (release checker workflow, which runs gorelease et al to verify the release version, call out breaking changes, etc.)
@guseggert guseggert added the need/triage Needs initial labeling and prioritization label Apr 5, 2023
@guseggert guseggert added P1 High: Likely tackled by core team if no one steps up dif/medium Prior experience is likely helpful and removed need/triage Needs initial labeling and prioritization labels Apr 5, 2023
@guseggert guseggert self-assigned this Apr 5, 2023
@BigLep
Copy link
Contributor

BigLep commented Apr 6, 2023

Thanksk @guseggert . I like it.

One question: will there be validation that the [vX.Y.Z] in the changelog is appropriate (basically that we aren't doing a patch release when we should be doing a minor release at the minimum)? I believe we got that validation with the version.json method.

@guseggert
Copy link
Contributor Author

Good callout I added that to the list of requirements

@galargh
Copy link
Contributor

galargh commented May 15, 2023

We met with Gus and talked about this some more. Quick summary, we decided not to try and make changelog-driven-release fit boxo's needs as it would require too much work and adjustment when it comes to workflows engineers are used to. Instead, we're going to focus on:

  1. Ensuring changelog is always up to date through automation - Enforce changelog updates in CI #267
  2. Expanding Unified CI in such a way that would allow us to source GitHub release description from CHANGELOG.md

This issue will cover the 2nd point.

@galargh galargh assigned galargh and unassigned guseggert May 15, 2023
@galargh galargh changed the title Tag releases with CHANGELOG.md Source GitHub Release description from CHANGELOG.md May 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dif/medium Prior experience is likely helpful P1 High: Likely tackled by core team if no one steps up
Projects
No open projects
Status: 🥞 Todo
Development

No branches or pull requests

3 participants