Skip to content
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

Publish Docker images as part of each release #236

Closed
andygrove opened this issue Sep 17, 2022 · 10 comments · Fixed by #513
Closed

Publish Docker images as part of each release #236

andygrove opened this issue Sep 17, 2022 · 10 comments · Fixed by #513
Labels
enhancement New feature or request

Comments

@andygrove
Copy link
Member

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
I would like users to be able to download Ballista docker images instead of having to build them themselves.

Describe the solution you'd like
Publish Docker images to Apache repo in DockerHub. Based this on how Spark does this?

Describe alternatives you've considered
None

Additional context
None

@andygrove andygrove added the enhancement New feature or request label Sep 17, 2022
@avantgardnerio
Copy link
Contributor

I 1000% support this. Every other major software has pre-packaged docker image you can just pull and run. Pushing it to docker hub is easy, the harder part is that we need an apache account with credentials, then to put that secret in CI. Even if it is in CI, I don't know how we could prevent it leaking from PRs, but I could look into it.

@andygrove
Copy link
Member Author

I filed a ticket with INFRA: https://issues.apache.org/jira/browse/INFRA-23709

@andygrove andygrove changed the title Publish Docker images to Apache repo in DockerHub Publish Docker images as part of each release Oct 6, 2022
@andygrove
Copy link
Member Author

It looks like the easiest path is to use GitHub Container Registry. This doesn't rule out looking at publishing to Dockerhub in the future, but I recommend that we try this first.

We can use GITHUB_TOKEN within GitHub actions for authentication.

https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry

@andygrove
Copy link
Member Author

andygrove commented Oct 6, 2022

My understanding is that the Docker image URLs would be

ghcr.io/apache/arrow-ballista-scheduler
ghcr.io/apache/arrow-ballista-executor

We may also want to publish some client images to make it easier for users who don't already have appropriate Rust or Python setups.

ghcr.io/apache/arrow-ballista-cli
ghcr.io/apache/arrow-ballista-python

@tfeda
Copy link
Contributor

tfeda commented Oct 15, 2022

Just a heads up, gcr.io is google's container registry, ghcr.io is github's.

@andygrove andygrove added this to the Ballista 0.10.0 milestone Oct 17, 2022
@andygrove
Copy link
Member Author

Here is the updated proposal for how this will work:

We can use a GitHub action to push to ghcr.io when we push release tags to the repo.

When we tag the repo with a release candidate tag e.g. 0.10.0-rc1, we start a vote that covers both the source release (tarball) and also the published Docker image release candidate.

Once the vote passes, we push the 0.10.0 tag, and this will cause the image to be published with the 0.10.0 version, and we can then announce that as an official release.

@andygrove
Copy link
Member Author

@avantgardnerio fyi

@avantgardnerio
Copy link
Contributor

S&t will 100% volunteer for this 🤠

@andygrove
Copy link
Member Author

Thanks @avantgardnerio. I assume that this is too much to try and get into 0.10.0 (planning on releasing this in the next few days), so I have tagged this for 0.11.0. Let me know if do you want to try and do this for 0.10.0 (we an always delay the release to accommodate this).

@avantgardnerio
Copy link
Contributor

Adding for reference: currently blocked by https://issues.apache.org/jira/browse/INFRA-23897

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
3 participants