Skip to content

Commit

Permalink
some cleanup
Browse files Browse the repository at this point in the history
Signed-off-by: Jessica Frazelle <[email protected]>
  • Loading branch information
jessfraz committed Jan 27, 2016
1 parent 6b2c1ed commit 404d208
Showing 1 changed file with 47 additions and 41 deletions.
88 changes: 47 additions & 41 deletions project/RELEASE-CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,14 @@ open the PR against the "release" branch instead of accidentally against

### 7. Build release candidate rpms and debs

**NOTE**: It will be a lot faster if you pass a different graphdriver with
`DOCKER_GRAPHDRIVER` than `vfs`.

```bash
docker build -t docker .
docker run \
--rm -t --privileged \
-e DOCKER_GRAPHDRIVER=aufs \
-v $(pwd)/bundles:/go/src/github.com/docker/docker/bundles \
docker \
hack/make.sh binary build-deb build-rpm
Expand All @@ -222,42 +226,42 @@ another docker/docker directory in bundles. This next step assumes you have
a checkout of the docker source code at the same commit you used to build, with
the artifacts from the last step in `bundles`.

**NOTE:** If you put a space before the command your `.bash_history` will not
save it. (for the `GPG_PASSPHRASE`).

```bash
docker build -t docker .
docker run --rm -it --privileged \
-v /local/path/to/your/repos:/volumes/repos \
-v /volumes/repos:/volumes/repos \
-v $(pwd)/bundles:/go/src/github.com/docker/docker/bundles \
-v $HOME/.gnupg:/root/.gnupg \
-e DOCKER_RELEASE_DIR=/volumes/repos \
-e GPG_PASSPHRASE \
-e KEEPBUNDLE=1 \
docker \
hack/make.sh release-deb release-rpm
hack/make.sh release-deb release-rpm sign-repos generate-index-listing
```

### 9. Sign the repos with your GPG key


```bash
./hack/make/sign-repos
```
### 9. Upload the changed repos to wherever you host

### 10. Upload the changed repos to wherever you host
For example, above we bind mounted `/volumes/repos` as the storage for
`DOCKER_RELEASE_DIR`. In this case `/volumes/repos/apt` can be synced with
a specific s3 bucket for the apt repo and `/volumes/repos/yum` can be synced with
a s3 bucket for the yum repo.

### 11. Publish release candidate binaries
### 10. Publish release candidate binaries

To run this you will need access to the release credentials. Get them from the
Core maintainers.

Replace "..." with the respective credentials:

```bash
docker build -t docker .

# static binaries are still pushed to s3
docker run \
-e AWS_S3_BUCKET=test.docker.com \ # static binaries are still pushed to s3
-e AWS_ACCESS_KEY="..." \
-e AWS_SECRET_KEY="..." \
-e AWS_S3_BUCKET=test.docker.com \
-e AWS_ACCESS_KEY \
-e AWS_SECRET_KEY \
-i -t --privileged \
docker \
hack/release.sh
Expand All @@ -266,7 +270,7 @@ docker run \
It will run the test suite, build the binaries and upload to the specified bucket,
so this is a good time to verify that you're running against **test**.docker.com.

### 12. Purge the cache!
### 11. Purge the cache!

After the binaries are uploaded to test.docker.com and the packages are on
apt.dockerproject.org and yum.dockerproject.org, make sure
Expand Down Expand Up @@ -300,7 +304,7 @@ We recommend announcing the release candidate on:
- The [docker-maintainers](https://groups.google.com/a/dockerproject.org/forum/#!forum/maintainers) group
- Any social media that can bring some attention to the release candidate

### 13. Iterate on successive release candidates
### 12. Iterate on successive release candidates

Spend several days along with the community explicitly investing time and
resources to try and break Docker in every possible way, documenting any
Expand Down Expand Up @@ -350,7 +354,7 @@ git push -f $GITHUBUSER bump_$VERSION
Repeat step 6 to tag the code, publish new binaries, announce availability, and
get help testing.

### 14. Finalize the bump branch
### 13. Finalize the bump branch

When you're happy with the quality of a release candidate, you can move on and
create the real thing.
Expand All @@ -366,9 +370,9 @@ git commit --amend

You will then repeat step 6 to publish the binaries to test

### 15. Get 2 other maintainers to validate the pull request
### 14. Get 2 other maintainers to validate the pull request

### 16. Build final rpms and debs
### 15. Build final rpms and debs

```bash
docker build -t docker .
Expand All @@ -379,55 +383,57 @@ docker run \
hack/make.sh binary build-deb build-rpm
```

### 17. Publish final rpms and debs
### 16. Publish final rpms and debs

With the rpms and debs you built from the last step you can release them on the
same server, or ideally, move them to a dedicated release box via scp into
another docker/docker directory in bundles. This next step assumes you have
a checkout of the docker source code at the same commit you used to build, with
the artifacts from the last step in `bundles`.

**NOTE:** If you put a space before the command your `.bash_history` will not
save it. (for the `GPG_PASSPHRASE`).

```bash
docker build -t docker .
docker run --rm -it --privileged \
-v /local/path/to/your/repos:/volumes/repos \
-v /volumes/repos:/volumes/repos \
-v $(pwd)/bundles:/go/src/github.com/docker/docker/bundles \
-v $HOME/.gnupg:/root/.gnupg \
-e DOCKER_RELEASE_DIR=/volumes/repos \
-e GPG_PASSPHRASE \
-e KEEPBUNDLE=1 \
docker \
hack/make.sh release-deb release-rpm
hack/make.sh release-deb release-rpm sign-repos generate-index-listing
```

### 18. Sign the repos with your GPG key


```bash
./hack/make/sign-repos
```
### 17. Upload the changed repos to wherever you host

### 19. Upload the changed repos to wherever you host
For example, above we bind mounted `/volumes/repos` as the storage for
`DOCKER_RELEASE_DIR`. In this case `/volumes/repos/apt` can be synced with
a specific s3 bucket for the apt repo and `/volumes/repos/yum` can be synced with
a s3 bucket for the yum repo.

### 20. Publish final binaries
### 18. Publish final binaries

Once they're tested and reasonably believed to be working, run against
get.docker.com:

```bash
docker build -t docker .
# static binaries are still pushed to s3
docker run \
-e AWS_S3_BUCKET=get.docker.com \ # static binaries are still pushed to s3
-e AWS_ACCESS_KEY="..." \
-e AWS_SECRET_KEY="..." \
-e AWS_S3_BUCKET=get.docker.com \
-e AWS_ACCESS_KEY \
-e AWS_SECRET_KEY \
-i -t --privileged \
docker \
hack/release.sh
```

### 21. Purge the cache!
### 19. Purge the cache!

### 22. Apply tag and create release
### 20. Apply tag and create release

It's very important that we don't make the tag until after the official
release is uploaded to get.docker.com!
Expand All @@ -446,12 +452,12 @@ You can see examples in this two links:
https://github.com/docker/docker/releases/tag/v1.8.0
https://github.com/docker/docker/releases/tag/v1.8.0-rc3

### 23. Go to github to merge the `bump_$VERSION` branch into release
### 21. Go to github to merge the `bump_$VERSION` branch into release

Don't forget to push that pretty blue button to delete the leftover
branch afterwards!

### 24. Update the docs branch
### 22. Update the docs branch

You will need to point the docs branch to the newly created release tag:

Expand All @@ -470,7 +476,7 @@ distributed CDN system) is flushed. The `make docs-release` command will do this
_if_ the `DISTRIBUTION_ID` is set correctly - this will take at least 15 minutes to run
and you can check its progress with the CDN Cloudfront Chrome addon.

### 25. Create a new pull request to merge your bump commit back into master
### 23. Create a new pull request to merge your bump commit back into master

```bash
git checkout master
Expand All @@ -484,14 +490,14 @@ echo "https://github.com/$GITHUBUSER/docker/compare/docker:master...$GITHUBUSER:
Again, get two maintainers to validate, then merge, then push that pretty
blue button to delete your branch.

### 26. Update the VERSION files
### 24. Update the VERSION files

Now that version X.Y.Z is out, time to start working on the next! Update the
content of the `VERSION` file to be the next minor (incrementing Y) and add the
`-dev` suffix. For example, after 1.5.0 release, the `VERSION` file gets
updated to `1.6.0-dev` (as in "1.6.0 in the making").

### 27. Rejoice and Evangelize!
### 25. Rejoice and Evangelize!

Congratulations! You're done.

Expand Down

0 comments on commit 404d208

Please sign in to comment.