-
-
Notifications
You must be signed in to change notification settings - Fork 4.9k
add gh actions to build and publish multiarch images to dockerhub #8834
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
Conversation
|
Isn't docker hub killing the free tier, or was that a storm in a teacup? If it isn't, maybe that's a good reason to move to e.g. ghcr while adding this anyway. I guess @calmh you own the docker syncthing org - did you get any news on that? |
|
From my understanding syncthing aren't offering a paid version of their software neither do they offer paid support so it should be ok? |
I should have made this clearer before, sorry: Please don't change anything in this PR (yet).
My understanding is that doesn't matter, everyone gets to pay. Resp. there's a track for open source software, but apparently it's cumbersome/slow. Referring to stuff like this: |
|
It's on my radar to sort out and apply for the open source thing, though the form was annoying and I got side tracked. |
|
You don't have to worry about it anymore. They walked back the whole thing: https://www.docker.com/blog/no-longer-sunsetting-the-free-team-plan/ |
|
If there is still interest in merging this, I am happy to work on it. |
|
There is, it just needs some tweaks to how Syncthing is built. Currently there's a Dockerfile.buildx that we use for the multi arch builds, which expects binaries to already be present. We compile the binaries prior to the docker step: |
|
I am not sure what I should do here, could you please give me some pointers please? All the checks seem to pass so idk where to start. |
|
Aha, I see this file has to be present and is what you were referring to, right? |
This builds and publishes our Docker images from GitHub.
* main: build: Update some dependencies build: Make sure we get the latest matching Go version build: Multi arch Docker images with GitHub actions (ref syncthing#8834) lib/config, gui: Disallow some options in combination with "untrusted" (fixes syncthing#8920) (syncthing#8921) gui, man, authors: Update docs, translations, and contributors Don't add empty device to config on init (syncthing#8933) build: Push release files to cloud storage build: Generate .asc files for release packages (fixes syncthing#8897) build: Properly build all Debian archs (fixes syncthing#8898) gui: Avoid code generating HTML (syncthing#8923) gui: Remove HTML support in tooltips gui: Avoid code generating HTML (syncthing#8923) build: Tests should run with Go 1.20 on Windows (syncthing#8924) gui, man, authors: Update docs, translations, and contributors lib/model: Improve test for unignored parent directories (syncthing#8926) build: Update dependencies (syncthing#8925) gui: Remove HTML support in tooltips cmd/syncthing: Use correct binary when restarting monitor (syncthing#8919)
|
Thanks for this @Migelo I've incorporated your changes into the build setup, and marked you as co-author of the commit in question. |
Purpose
As discussed in #8691 I started updating the build system to automatically build syncthing and related programs and publish them to dockerhub.
Testing
I used the working gh actions from my docker-syncthing-relay repo.
You can also check my fork and the finished action where all arches successfully finished building here.
Or the latest one where I only build for
amd64so we can iterate more quickly on this PR.Todo
Dockerfileand then greping it from there and into gh actions.DOCKERHUB_USERNAMEandDOCKERHUB_TOKENunderSettings->Security->Secrets and variables->Actions