Last month, when people upgraded their K8S clusters to use Engine 1.13, networking broke for them
because the default forwarding policy changed to `DROP` to increase the security and prevent some
specific network attacks. After a [long discussion on Twitter](https://twitter.com/jbeda/status/826969113801093121)
we realized that while the 1.13-rc releases had been out for months, they hadn't received as much
testing as we wanted because they hadn't been announced through all available channels.
This is a proposal to alter the release process to make sure that release candidate versions are
announced as widely as possible.
Signed-off-by: Jerome Petazzoni <jerome.petazzoni@gmail.com>
| ... | ... |
@@ -312,16 +312,17 @@ echo "Linux 64bit tgz: https://test.docker.com/builds/Linux/x86_64/docker-${VERS
|
| 312 | 312 |
echo "Windows 64bit client binary: https://test.docker.com/builds/Windows/x86_64/docker-${VERSION#v}.exe"
|
| 313 | 313 |
echo "Windows 32bit client binary: https://test.docker.com/builds/Windows/i386/docker-${VERSION#v}.exe"
|
| 314 | 314 |
``` |
| 315 |
+### 13. Announce the release candidate |
|
| 315 | 316 |
|
| 316 |
-We recommend announcing the release candidate on: |
|
| 317 |
+The release candidate should be announced on: |
|
| 317 | 318 |
|
| 318 | 319 |
- IRC on #docker, #docker-dev, #docker-maintainers |
| 319 | 320 |
- In a comment on the pull request to notify subscribed people on GitHub |
| 320 | 321 |
- The [docker-dev](https://groups.google.com/forum/#!forum/docker-dev) group |
| 321 | 322 |
- The [docker-maintainers](https://groups.google.com/a/dockerproject.org/forum/#!forum/maintainers) group |
| 322 |
-- Any social media that can bring some attention to the release candidate |
|
| 323 |
+- (Optional) Any social media that can bring some attention to the release candidate |
|
| 323 | 324 |
|
| 324 |
-### 13. Iterate on successive release candidates |
|
| 325 |
+### 14. Iterate on successive release candidates |
|
| 325 | 326 |
|
| 326 | 327 |
Spend several days along with the community explicitly investing time and |
| 327 | 328 |
resources to try and break Docker in every possible way, documenting any |
| ... | ... |
@@ -368,10 +369,10 @@ git commit --amend |
| 368 | 368 |
git push -f $GITHUBUSER bump_$VERSION |
| 369 | 369 |
``` |
| 370 | 370 |
|
| 371 |
-Repeat step 6 to tag the code, publish new binaries, announce availability, and |
|
| 371 |
+Repeat steps 6 to 14 to tag the code, publish new binaries, announce availability, and |
|
| 372 | 372 |
get help testing. |
| 373 | 373 |
|
| 374 |
-### 14. Finalize the bump branch |
|
| 374 |
+### 15. Finalize the bump branch |
|
| 375 | 375 |
|
| 376 | 376 |
When you're happy with the quality of a release candidate, you can move on and |
| 377 | 377 |
create the real thing. |
| ... | ... |
@@ -387,9 +388,9 @@ git commit --amend |
| 387 | 387 |
|
| 388 | 388 |
You will then repeat step 6 to publish the binaries to test |
| 389 | 389 |
|
| 390 |
-### 15. Get 2 other maintainers to validate the pull request |
|
| 390 |
+### 16. Get 2 other maintainers to validate the pull request |
|
| 391 | 391 |
|
| 392 |
-### 16. Build final rpms and debs |
|
| 392 |
+### 17. Build final rpms and debs |
|
| 393 | 393 |
|
| 394 | 394 |
```bash |
| 395 | 395 |
docker build -t docker . |
| ... | ... |
@@ -400,7 +401,7 @@ docker run \ |
| 400 | 400 |
hack/make.sh binary build-deb build-rpm |
| 401 | 401 |
``` |
| 402 | 402 |
|
| 403 |
-### 17. Publish final rpms and debs |
|
| 403 |
+### 18. Publish final rpms and debs |
|
| 404 | 404 |
|
| 405 | 405 |
With the rpms and debs you built from the last step you can release them on the |
| 406 | 406 |
same server, or ideally, move them to a dedicated release box via scp into |
| ... | ... |
@@ -424,14 +425,14 @@ docker run --rm -it --privileged \ |
| 424 | 424 |
hack/make.sh release-deb release-rpm sign-repos generate-index-listing |
| 425 | 425 |
``` |
| 426 | 426 |
|
| 427 |
-### 18. Upload the changed repos to wherever you host |
|
| 427 |
+### 19. Upload the changed repos to wherever you host |
|
| 428 | 428 |
|
| 429 | 429 |
For example, above we bind mounted `/volumes/repos` as the storage for |
| 430 | 430 |
`DOCKER_RELEASE_DIR`. In this case `/volumes/repos/apt` can be synced with |
| 431 | 431 |
a specific s3 bucket for the apt repo and `/volumes/repos/yum` can be synced with |
| 432 | 432 |
a s3 bucket for the yum repo. |
| 433 | 433 |
|
| 434 |
-### 19. Publish final binaries |
|
| 434 |
+### 20. Publish final binaries |
|
| 435 | 435 |
|
| 436 | 436 |
Once they're tested and reasonably believed to be working, run against |
| 437 | 437 |
get.docker.com: |
| ... | ... |
@@ -449,9 +450,9 @@ docker run \ |
| 449 | 449 |
hack/release.sh |
| 450 | 450 |
``` |
| 451 | 451 |
|
| 452 |
-### 20. Purge the cache! |
|
| 452 |
+### 21. Purge the cache! |
|
| 453 | 453 |
|
| 454 |
-### 21. Apply tag and create release |
|
| 454 |
+### 22. Apply tag and create release |
|
| 455 | 455 |
|
| 456 | 456 |
It's very important that we don't make the tag until after the official |
| 457 | 457 |
release is uploaded to get.docker.com! |
| ... | ... |
@@ -470,12 +471,12 @@ You can see examples in this two links: |
| 470 | 470 |
https://github.com/docker/docker/releases/tag/v1.8.0 |
| 471 | 471 |
https://github.com/docker/docker/releases/tag/v1.8.0-rc3 |
| 472 | 472 |
|
| 473 |
-### 22. Go to github to merge the `bump_$VERSION` branch into release |
|
| 473 |
+### 23. Go to github to merge the `bump_$VERSION` branch into release |
|
| 474 | 474 |
|
| 475 | 475 |
Don't forget to push that pretty blue button to delete the leftover |
| 476 | 476 |
branch afterwards! |
| 477 | 477 |
|
| 478 |
-### 23. Update the docs branch |
|
| 478 |
+### 24. Update the docs branch |
|
| 479 | 479 |
|
| 480 | 480 |
You will need to point the docs branch to the newly created release tag: |
| 481 | 481 |
|
| ... | ... |
@@ -494,7 +495,7 @@ distributed CDN system) is flushed. The `make docs-release` command will do this |
| 494 | 494 |
_if_ the `DISTRIBUTION_ID` is set correctly - this will take at least 15 minutes to run |
| 495 | 495 |
and you can check its progress with the CDN Cloudfront Chrome addon. |
| 496 | 496 |
|
| 497 |
-### 24. Create a new pull request to merge your bump commit back into master |
|
| 497 |
+### 25. Create a new pull request to merge your bump commit back into master |
|
| 498 | 498 |
|
| 499 | 499 |
```bash |
| 500 | 500 |
git checkout master |
| ... | ... |
@@ -508,7 +509,7 @@ echo "https://github.com/$GITHUBUSER/docker/compare/docker:master...$GITHUBUSER: |
| 508 | 508 |
Again, get two maintainers to validate, then merge, then push that pretty |
| 509 | 509 |
blue button to delete your branch. |
| 510 | 510 |
|
| 511 |
-### 25. Rejoice and Evangelize! |
|
| 511 |
+### 26. Rejoice and Evangelize! |
|
| 512 | 512 |
|
| 513 | 513 |
Congratulations! You're done. |
| 514 | 514 |
|