Skip to content

Add release instructions#2539

Merged
EmilienM merged 1 commit intogophercloud:masterfrom
shiftstack:release-doc
Feb 13, 2023
Merged

Add release instructions#2539
EmilienM merged 1 commit intogophercloud:masterfrom
shiftstack:release-doc

Conversation

@pierreprinetti
Copy link
Copy Markdown
Member

No description provided.

@coveralls
Copy link
Copy Markdown

coveralls commented Jan 25, 2023

Coverage Status

Coverage: 80.086%. Remained the same when pulling 8e59aff on shiftstack:release-doc into 15a9feb on gophercloud:master.

@pierreprinetti pierreprinetti marked this pull request as draft January 25, 2023 11:34
@EmilienM
Copy link
Copy Markdown
Contributor

Excellent writing and super helpful as usual. Thanks Pierre!

The Go mod system relies on Git tags. In order to simulate a review mechanism, we rely on Github to create the tag through the Release mechanism.

* [Prepare a new release](https://github.com/gophercloud/gophercloud/releases/new)
* Let Github generate the release notes by clicking on Generate release notes
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I find the What's Changed section of the github generated release notes to be a lot less informative than the content of the CHANGELOG file, as it can contain a lot of PRs users do not care about (for instance, maintenance of the CI jobs). Can we suggest copying the content of the CHANGELOG rather than a boring list of all PRs?
That said, I love the New Contributors section and would like it to stay.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Maybe we can figure out a gh command to pull out new contributors, so that we have them in the CHANGELOG and just copy paste the whole thing in the release


**Set the new version string in the `DefaultUserAgent` constant in `provider_client.go`.**

Create a PR with these two changes. The new PR should be labeled with the semver label corresponding to the type of bump, and the milestone corresponding to its version.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm probably missing something obvious. I can see why the release prep PR could have a label of semver:patch or semver:minor if we're considering the the user agent bump is an API change, but it's not clear to me why it should have the same semver label as the type of release we're doing. Can you explain the logic?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Totally arbitrary. That PR is not supposed to to anything to the code (except for the string bump now!), so I was unsure what label to apply (since our automation demands a label). I thought to apply the label that corresponds to the type of bump, just to add some info.

We can do whatever, and I’m open to suggestions.


Once all PRs have a sensible title and are added to the right milestone, generate the release notes with the [`gh`](https://github.com/cli/cli) tool:
```shell
gh pr list \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

For later, we could think of a script to help prepare for the release:

  • fetch all PRs that have merged since last release
  • propose a new version based on the semver label of these PRs
  • check that all relevant PRs (the ones that need a line in the changelog) have the appropriate milestone and set it if not
  • generate changelog

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

absolutely. Also, once a script is in place we might not even strictly need milestones any more.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

absolutely. Also, once a script is in place we might not even strictly need milestones any more.

@pierreprinetti
Copy link
Copy Markdown
Member Author

I propose to merge this as a first attempt. We can always make it better later. Unless anyone has a precise idea how to fix the issues reported in comments.

@pierreprinetti pierreprinetti marked this pull request as ready for review February 13, 2023 13:16
@EmilienM EmilienM merged commit b198615 into gophercloud:master Feb 13, 2023
@EmilienM EmilienM deleted the release-doc branch February 13, 2023 14:13
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 this pull request may close these issues.

4 participants