improve releng docs (#1253)

This commit is contained in:
Tom Limoncelli 2021-10-03 15:41:46 -04:00 committed by GitHub
parent d8941a04bc
commit e7c4494825
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -34,7 +34,6 @@ The `make-release.sh` script will do the following:
release notes.
4. Print instructions on how to create the release PR.
NOTE TO SELF: The last 2 times we did a release the tagging wasn't right. Be sure to watch this carefully, make sure the tag is handled correctly. (i.e. tag vx.y.z should be on release_vx.y.z) and update the docs with the correct procedure.
NOTE: If you bump the major version, you need to change all the source
files. The last time this was done (v2 -> v3) these two commands
@ -47,7 +46,8 @@ sed -i.bak -e 's@github.com.StackExchange.dnscontrol.v2@github.com/StackExchange
find * -name \*.bak -delete
```
## Step 2b. Verify the version string
## Step 3. Verify the version string
Verify the version string was updated:
@ -57,7 +57,15 @@ $ grep Version main.go
(Make sure that it lists the new version number.)
## Step 3. Write the release notes.
## Step 4. Make the PR
The output of "make-release.sh" will mention a URL that will create the PR ("1. Create a PR:")
Load the URL and make the PR.
## Step 5. Write the release notes.
draft-notes.txt is just a draft and needs considerable editing.
@ -98,7 +106,8 @@ Provider-specific changes:
* CLOUDFLARE: Fix CF trying to update non-changeable TTL (#issueid)
```
## Step 4. Make the draft release.
## Step 6. Make the draft release.
[On github.com, click on "Draft a new release"](https://github.com/StackExchange/dnscontrol/releases/new)
@ -116,24 +125,29 @@ Fill in the text box with the release notes written above.
(DO use the "preview" tab to proofread the text.)
## Step 5. Merge the release.
## Step 7. Verify tests completed.
By now the tests should have started running.
Verify that the automated tests passed. If not, fix the problems
before you continue.
This is also an opportunity to update any dependencies (go modules).
See the last section for commands that make that possible. Only
update modules related to the providers in the automated testing
system. When those tests pass, wait for the Github Actions to
complete and verify the tests all passed.
Merge the PR into Master.
## Step 8. Merge
## Step 6. Publish the release
Merge the PR.
The tests will run again.
Once they pass, you are ready to create and promote the release (see next step).
## Step 9. Publish the release
a. Publish the release.
* Make sure the "This is a pre-release" checkbox is UNchecked.
* Make sure the "This is a pre-release" checkbox is NOT checked.
* Click "Publish Release".
b. Wait for workflow to complete
@ -143,7 +157,7 @@ all 3 binaries to the release. Refresh the page after a few minutes and you'll
see dnscontrol-Darwin, dnscontrol-Linux, and dnscontrol.exe attached as assets.
## Step 7. Announce it via email
## Step 10. Announce it via email
Email the release notes to the mailing list: (note the format of the Subject line and that the first line of the email is the URL of the release)
@ -160,7 +174,7 @@ NOTE: You won't be able to post to the mailing list unless you are on
it. [Click here to join](https://groups.google.com/forum/#!forum/dnscontrol-discuss).
## Step 8. Announce it via chat
## Step 11. Announce it via chat
Mention on [https://gitter.im/dnscontrol/Lobby](https://gitter.im/dnscontrol/Lobby) that the new release has shipped.
@ -169,7 +183,7 @@ ANNOUNCEMENT: dnscontrol v$VERSION has been released! https://github.com/StackEx
```
## Step 9. Get credit!
## Step 12. Get credit!
Mention the fact that you did this release in your weekly accomplishments.