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

Auto-build Docker images on CI #1623

Closed
onyb opened this issue Aug 31, 2020 · 9 comments · Fixed by #1830
Closed

Auto-build Docker images on CI #1623

onyb opened this issue Aug 31, 2020 · 9 comments · Fixed by #1830

Comments

@onyb
Copy link
Collaborator

onyb commented Aug 31, 2020

[...] would be nice to include a docker image in future releases, [...]

Originally posted by @jakesyl in #1465 (comment)

Definition of done:

  • When a PR is merged to master => build and publish to latest tag.
  • When a new release is cut, or a tag is created => build and publish to v0.21.0 (say) tag.
  • The images are published to the GitHub packages Docker repository.
    • This is to avoid creating an account on DockerHub.
@jcvernaleo
Copy link
Member

Is there really a good reason to provide images for the latest tag? I love the idea of auto publishing releases but while we do not ever want to break master, I'm not convinced that should be run by someone who doesn't go and build it.

@jcvernaleo
Copy link
Member

And for the record, I might feel differently for a language that is harder to build than go but with go, the barrier to building is so low...

@onyb
Copy link
Collaborator Author

onyb commented Aug 31, 2020

Is there really a good reason to provide images for the latest tag?

I just mentioned it because latest is the default tag in Docker. So it could definitely point to the most recent release - and I think you're right that master should not really be considered stable.

Regarding why have Docker at all, it's just a ubiquitous way to run stuff. For someone who's not familiar with Go (or doesn't want to install the compiler), Docker is a nice way to quickly test-drive btcd.

@jcvernaleo
Copy link
Member

The latest tag in docker has caused me a whole lot of trouble in the past. I've basically moved to avoid using it completely and only use explicitly tagged things.

@jakesylvestre
Copy link
Collaborator

@jcvernaleo has a good point here. At the very least I'd like to be able to validate we're not breaking docker builds as we go. I had a big issue with libc6-compat not being installed in alpine

@jcvernaleo
Copy link
Member

One of the reasons I never use alpine (linux, I use the alpine mail client happily) and do not suggest anyone else use it.

@torkelrogstad
Copy link
Contributor

I agree that latest is a foot-gun. You don't know what you're getting, but even worse, you're getting different images with different pulls! I use Docker to deploy BTC/LN infrastructure, and I like that my versions are stable. I use tagged images, so this won't affect me, but I can imagine a lot of users running into unforeseen issues with latest. Best not to publish it IMO, and only do tagged releases.

@onyb
Copy link
Collaborator Author

onyb commented Sep 1, 2020

Struck out the line about latest tag in the issue description. Thanks all for your inputs.

@moesy
Copy link

moesy commented Feb 18, 2021

The "The GitHub Packages Docker registry" has been deprecated.

The GitHub Container Registry supersedes the existing Packages Docker registry and is optimized to support some of the unique needs of containers.

With the container registry you can:

  • Store container images within your organization and user account, rather than a repository.
  • Set fine-grained permissions and visibility independent of repository permissions and visibility.
  • Access public container images anonymously.
    For more information, see "About GitHub Container Registry."

If the intent is still to build the image into a Github hosted registry this ticket should be updated.

I think this will have to be managed by someone who has the right access permissions on the btcsuite github org to update the ci to push the image once a new version tag has been cut on the repo.

Resources

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 a pull request may close this issue.

5 participants