Skip to content

Build RabbitMQ 3.8 beta releases #302

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Feb 1, 2019
Merged

Build RabbitMQ 3.8 beta releases #302

merged 6 commits into from
Feb 1, 2019

Conversation

gerhard
Copy link
Contributor

@gerhard gerhard commented Jan 16, 2019

This should be merged after #301 . Will likely require a master rebase before.

RabbitMQ 3.8 ships a new queue type, the quorum queue. This queue type
is nothing short of amazing, find out more about it here:
https://youtu.be/YxFCUQ2CndA?t=560

There are a few more exciting RabbitMQ features waiting to be
discovered, use this Docker image tag to see what they are ; )

@gerhard
Copy link
Contributor Author

gerhard commented Jan 16, 2019

Ping @mkuratczyk @MarcialRosales

@yosifkit
Copy link
Member

I'd love to have more frequent updates for pre-release builds, but from the build numbers currently available on bintray compared to the ones mentioned here and in #301, it makes me think they are nightly or faster. Unfortunately, the official images process does not support nightly releases (too much churn).

Unlike a release candidate, continuous integration builds which have a fully automated release cycle based on code commits or a regular schedule are not appropriate.

https://github.com/docker-library/official-images/tree/050d779855220cfc475907b8889793bb9c61d5d6#library-definition-files

Are there less frequent versions, like weekly or monthly, that could be used (and available to re-download in case of base image updates)?

Nightly builds could be a fine candidate for Docker's Automated Builds (with Repository Links), though wouldn't have the same architecture reach.

@gerhard
Copy link
Contributor Author

gerhard commented Jan 24, 2019

I don't see why you couldn't trigger image builds on a schedule that is suitable for the official images. The fact that alpha releases are being published constantly doesn't mean that you have to consume them at the rate that they are being produced.

From the perspective of availability, an alpha will always be available when your pipeline runs, while an RC might no longer be available - as we've experienced in the past.

@gerhard
Copy link
Contributor Author

gerhard commented Jan 29, 2019

@yosifkit would you be more comfortable if we changed this to build 3.8 beta releases instead of alphas? They are less frequent, and would allow Docker users to try out new 3.8 features before the GA ships.

There is no release candidate for 3.8, only 3.8.0-beta.1

@michaelklishin
Copy link
Collaborator

It is true, alphas a produced up to multiple times a day depending on Git repository activity. 3.8.x betas are produced every several weeks (or even months).

@gerhard
Copy link
Contributor Author

gerhard commented Jan 30, 2019

OK, I am going to re-work this and add 3.8-beta + 3.8-beta-management tags, so that RabbitMQ users using Docker can start playing with RabbitMQ 3.8 awesome new features - @kjnilsson wants your feedback on Quorum Queues!

@gerhard gerhard changed the title Build RabbitMQ 3.8 alpha releases Build RabbitMQ 3.8 beta releases Jan 30, 2019
@gerhard
Copy link
Contributor Author

gerhard commented Jan 30, 2019

@yosifkit what do you think?

@yosifkit
Copy link
Member

This seems fine. These remote artifacts will stick around in cases where the RabbitMQ image is unchanged but an updated Ubuntu/Alpine base image happens and the rebuild of rabbitmq will still complete successfully.

As for the directory name, we use the -rc to cover any* pre-release of the software, so that we can be a little less involved in renaming directories when moving alpha to beta to rc since we want the bot to handle the update 😄.

*: any is currently beta|milestone|rc in the update script

@gerhard
Copy link
Contributor Author

gerhard commented Jan 31, 2019

Excellent! Is there anything else that needs to happen before merging?

@yosifkit
Copy link
Member

Is there anything else that needs to happen before merging?

In order for the auto-update bot to work, we need to either adjust update.sh or rename the folder to be 3.8-rc.

@gerhard
Copy link
Contributor Author

gerhard commented Feb 1, 2019

Folder renamed to 3.8-rc. Anything else @yosifkit ?

This reverts commit 7ded097.

3.8.0-beta.2 is in draft state, there are no artefacts to download
@tianon
Copy link
Member

tianon commented Feb 1, 2019

Here's a simplified git diff from the CLI (since GitHub struggles with displaying diffs like this in a sane way that makes them easy to review 😅):

diff --git a/.travis.yml b/.travis.yml
index b10937e..d36ce1a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,6 +2,8 @@ language: bash
 services: docker
 
 env:
+  - VERSION=3.8-rc VARIANT=ubuntu
+  - VERSION=3.8-rc VARIANT=alpine
   - VERSION=3.7-rc VARIANT=ubuntu
   - VERSION=3.7-rc VARIANT=alpine
   - VERSION=3.7 VARIANT=ubuntu
diff --git a/3.7-rc/alpine/Dockerfile b/3.8-rc/alpine/Dockerfile
similarity index 99%
copy from 3.7-rc/alpine/Dockerfile
copy to 3.8-rc/alpine/Dockerfile
index 4419a2b..c34c8cf 100644
--- a/3.7-rc/alpine/Dockerfile
+++ b/3.8-rc/alpine/Dockerfile
@@ -161,7 +161,7 @@ RUN set -eux; \
 	ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie
 
 # Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html)
-ENV RABBITMQ_VERSION 3.7.11-rc.2
+ENV RABBITMQ_VERSION 3.8.0-beta.1
 # https://www.rabbitmq.com/signatures.html#importing-gpg
 ENV RABBITMQ_PGP_KEY_ID="0x0A9AF2115F4687BD29803A206B73A36E6026DFCA"
 ENV RABBITMQ_HOME=/opt/rabbitmq
diff --git a/3.7-rc/alpine/docker-entrypoint.sh b/3.8-rc/alpine/docker-entrypoint.sh
similarity index 100%
copy from 3.7-rc/alpine/docker-entrypoint.sh
copy to 3.8-rc/alpine/docker-entrypoint.sh
diff --git a/3.7/alpine/management/Dockerfile b/3.8-rc/alpine/management/Dockerfile
similarity index 96%
copy from 3.7/alpine/management/Dockerfile
copy to 3.8-rc/alpine/management/Dockerfile
index 89b73d3..810cb10 100644
--- a/3.7/alpine/management/Dockerfile
+++ b/3.8-rc/alpine/management/Dockerfile
@@ -1,4 +1,4 @@
-FROM rabbitmq:3.7-alpine
+FROM rabbitmq:3.8-rc-alpine
 
 RUN rabbitmq-plugins enable --offline rabbitmq_management
 
diff --git a/3.7-rc/ubuntu/Dockerfile b/3.8-rc/ubuntu/Dockerfile
similarity index 99%
copy from 3.7-rc/ubuntu/Dockerfile
copy to 3.8-rc/ubuntu/Dockerfile
index df91308..7d1c5d0 100644
--- a/3.7-rc/ubuntu/Dockerfile
+++ b/3.8-rc/ubuntu/Dockerfile
@@ -169,7 +169,7 @@ RUN set -eux; \
 	ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie
 
 # Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html)
-ENV RABBITMQ_VERSION 3.7.11-rc.2
+ENV RABBITMQ_VERSION 3.8.0-beta.1
 # https://www.rabbitmq.com/signatures.html#importing-gpg
 ENV RABBITMQ_PGP_KEY_ID="0x0A9AF2115F4687BD29803A206B73A36E6026DFCA"
 ENV RABBITMQ_HOME=/opt/rabbitmq
diff --git a/3.7-rc/ubuntu/docker-entrypoint.sh b/3.8-rc/ubuntu/docker-entrypoint.sh
similarity index 100%
copy from 3.7-rc/ubuntu/docker-entrypoint.sh
copy to 3.8-rc/ubuntu/docker-entrypoint.sh
diff --git a/3.7/ubuntu/management/Dockerfile b/3.8-rc/ubuntu/management/Dockerfile
similarity index 97%
copy from 3.7/ubuntu/management/Dockerfile
copy to 3.8-rc/ubuntu/management/Dockerfile
index 759f48e..fb5ab76 100644
--- a/3.7/ubuntu/management/Dockerfile
+++ b/3.8-rc/ubuntu/management/Dockerfile
@@ -1,4 +1,4 @@
-FROM rabbitmq:3.7
+FROM rabbitmq:3.8-rc
 
 RUN rabbitmq-plugins enable --offline rabbitmq_management
 

@tianon tianon merged commit 25a9b71 into docker-library:master Feb 1, 2019
@michaelklishin michaelklishin deleted the add-3.8-edge branch February 1, 2019 21:38
@michaelklishin
Copy link
Collaborator

3.8.0-beta.2 is now a published release on GitHub

@yosifkit
Copy link
Member

yosifkit commented Feb 1, 2019

Triggered the update bot and it seems we have a bug in update.sh. tracking it down now.

@yosifkit
Copy link
Member

yosifkit commented Feb 1, 2019

And fixed in 962e666; bot in progress.

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