mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-09-07 05:34:43 +08:00
release-engineering.md: Update based on v3.0.0 RE
This commit is contained in:
parent
dea898dd41
commit
b1e0fe95d5
1 changed files with 25 additions and 12 deletions
|
@ -5,9 +5,19 @@ title: How to build and ship a release
|
||||||
|
|
||||||
# How to build and ship a release
|
# How to build and ship a release
|
||||||
|
|
||||||
Here are my notes from producing the v2.8 release. Change the version number as appropriate.
|
These are the instructions for producing a release.
|
||||||
|
Please change the version number as appropriate.
|
||||||
|
|
||||||
|
|
||||||
|
## Step 0. Tools check
|
||||||
|
|
||||||
|
Make sure you are using the latest version of `go`
|
||||||
|
(listed on [https://golang.org/dl/](https://golang.org/dl/))
|
||||||
|
|
||||||
|
```
|
||||||
|
go version
|
||||||
|
```
|
||||||
|
|
||||||
## Step 1. Vendor the modules
|
## Step 1. Vendor the modules
|
||||||
|
|
||||||
Vendor the modules. The vendored files are not used (unless you change
|
Vendor the modules. The vendored files are not used (unless you change
|
||||||
|
@ -17,7 +27,7 @@ sure that we have a backup in the unlikely event of a disaster.
|
||||||
```
|
```
|
||||||
go mod vendor
|
go mod vendor
|
||||||
git add vendor
|
git add vendor
|
||||||
git commit -m'vendor modules' vendor
|
git commit -m'go mod vendor' vendor
|
||||||
```
|
```
|
||||||
|
|
||||||
TODO(Tom): build.go should verify that this was done, similar to
|
TODO(Tom): build.go should verify that this was done, similar to
|
||||||
|
@ -28,8 +38,8 @@ how it tests that gofmt was run.
|
||||||
|
|
||||||
* If you are at StackOverflow, this is in TC as "DNS > Integration Tests".
|
* If you are at StackOverflow, this is in TC as "DNS > Integration Tests".
|
||||||
* Otherwise:
|
* Otherwise:
|
||||||
* Run "go test" (documented in [Creating new DNS Resource Types](adding-new-rtypes))
|
* Run "go test ./..." (documented in [Creating new DNS Resource Types](adding-new-rtypes))
|
||||||
* Run the integration tests (documented in [Writing new DNS providers](writing-providers)
|
* Run the integration tests (documented in [Writing new DNS providers](writing-providers))
|
||||||
|
|
||||||
|
|
||||||
## Step 3. Bump the version number
|
## Step 3. Bump the version number
|
||||||
|
@ -99,13 +109,16 @@ Provider-specific changes:
|
||||||
Fill in the `Tag version` @ `Target` with:
|
Fill in the `Tag version` @ `Target` with:
|
||||||
|
|
||||||
* Tag version: v$VERSION (this should be the first tag listed)
|
* Tag version: v$VERSION (this should be the first tag listed)
|
||||||
* Target: master (this should be the default)
|
* Target: master (this should be the default; and disappears when
|
||||||
|
you enter the tag)
|
||||||
|
|
||||||
Release title: Release v$VERSION
|
Release title: Release v$VERSION
|
||||||
|
|
||||||
Fill in the text box with the release notes written above.
|
Fill in the text box with the release notes written above.
|
||||||
|
|
||||||
(Don't click SAVE until the next step is complete!)
|
(DON'T click SAVE until the next step is complete!)
|
||||||
|
|
||||||
|
(DO use the "preview" tab to proofread the text.)
|
||||||
|
|
||||||
Create the binaries and attach them to the release:
|
Create the binaries and attach them to the release:
|
||||||
|
|
||||||
|
@ -119,17 +132,17 @@ This is what it looks like when you did it right:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ ./dnscontrol-Darwin version
|
$ ./dnscontrol-Darwin version
|
||||||
dnscontrol 2.8 ("ee5208bd5f19b9e5dd0bdba8d0e13403c43a469a") built 19 Dec 18 11:16 EST
|
dnscontrol 3.0.0 ("a7c62e5d317e7e3da76dffd8e24d6a9d304d8159") built 22 Mar 20 15:16 EDT
|
||||||
```
|
```
|
||||||
|
|
||||||
This is what it looks like when there was a file that wasn't checked in:
|
This is what it looks like when there was a file that wasn't checked in:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ ./dnscontrol-Darwin version
|
$ ./dnscontrol-Darwin version
|
||||||
dnscontrol 2.8 ("ee5208bd5f19b9e5dd0bdba8d0e13403c43a469a[dirty]") built 19 Dec 18 11:14 EST
|
dnscontrol 3.0.0 ("ee5208bd5f19b9e5dd0bdba8d0e13403c43a469a[dirty]") built 22 Mar 20 15:16 EDT
|
||||||
^^^^^
|
^^^^^
|
||||||
^^^^^
|
^^^^^
|
||||||
^^^^^
|
^^^^^
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -169,7 +182,7 @@ it. [Click here to join](https://groups.google.com/forum/#!forum/dnscontrol-dis
|
||||||
Mention on [https://gitter.im/dnscontrol/Lobby](https://gitter.im/dnscontrol/Lobby) that the new release has shipped.
|
Mention on [https://gitter.im/dnscontrol/Lobby](https://gitter.im/dnscontrol/Lobby) that the new release has shipped.
|
||||||
|
|
||||||
```
|
```
|
||||||
dnscontrol $VERSION has been released! https://github.com/StackExchange/dnscontrol/releases/tag/v$VERSION
|
ANNOUNCEMENT: dnscontrol $VERSION has been released! https://github.com/StackExchange/dnscontrol/releases/tag/v$VERSION
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue