Skip to content

Add QEMU step and platforms field to the publish action for Arm Docker image #1736

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 1 commit into from
Sep 20, 2022

Conversation

suecharo
Copy link
Contributor

It seems that there is no Docker image for Arm, so I added options to the publish action.

Please refer https://github.com/docker/build-push-action/blob/master/docs/advanced/multi-platform.md

I would be happy to discuss, including whether or not to provide Arm image itself.

@codecov
Copy link

codecov bot commented Sep 17, 2022

Codecov Report

Merging #1736 (2fb252a) into main (36a8f78) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1736   +/-   ##
=======================================
  Coverage   82.17%   82.17%           
=======================================
  Files          47       47           
  Lines        8058     8058           
  Branches     2173     2173           
=======================================
  Hits         6622     6622           
  Misses        947      947           
  Partials      489      489           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Copy link
Member

@kinow kinow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any idea if it increases the build time too much? I think someone needs to push the cwltool to dockerhub manually too, so that person would have to remember to build for arm too, or maybe it's fine to have it only in quay?

@inutano
Copy link

inutano commented Sep 19, 2022

@kinow just curious, but why does this action only push to quay.io and not to dockerhub? GitHub container registry can also an alternative without the container image pulling limit

@kinow
Copy link
Member

kinow commented Sep 19, 2022

@kinow just curious, but why does this action only push to quay.io and not to dockerhub? GitHub container registry can also an alternative without the container image pulling limit

I never published cwltool, only CWL Viewer. I think @mr-c might know the answer for that better than I. But it might be related to permissions to upload to Docker Hub.

@kinow
Copy link
Member

kinow commented Sep 19, 2022

Ah, scratch that @inutano, @suecharo . I think cwltool is published only to quay.io. I thought it was published to both like CWL Viewer, but I had a look and realized there's no cwltool there: https://hub.docker.com/u/commonworkflowlanguage

Sorry for the noise!

@mr-c
Copy link
Member

mr-c commented Sep 19, 2022

@kinow just curious, but why does this action only push to quay.io and not to dockerhub? GitHub container registry can also an alternative without the container image pulling limit

I thought the GitHub container registry required GitHub credentials for pulls, even of public builds?

@suecharo
Copy link
Contributor Author

I thought the GitHub container registry required GitHub credentials for pulls, even of public builds?

@mr-c
Before (about 2 years ago?) was required a credential, but now, it does not seem to be necessary.
As a test, I pulled an image that is publicly released on ghcr.io.

suecharo@MBP ~ > docker logout ghcr.io
Removing login credentials for ghcr.io
suecharo@MBP ~> docker pull ghcr.io/sapporo-wes/sapporo-service:1.4.8
1.4.8: Pulling from sapporo-wes/sapporo-service
a84b81edbdb8: Pull complete 
130650cedb83: Pull complete 
5632ccfecf84: Pull complete 
311607fd614d: Pull complete 
33eb2f9a8ee4: Pull complete 
bd7a196dc986: Pull complete 
4f4fb700ef54: Pull complete 
ed84f1b59e9e: Pull complete 
bbf836de70df: Pull complete 
f656d65ca4f8: Pull complete 
f4240ca2df29: Pull complete 
4b0be10e78ea: Pull complete 
8001ff6dbfdb: Pull complete 
Digest: sha256:6fa32cf3c9c405b64eb8e11083dadec4b7f13694494cd26e40d886dcf39f59af
Status: Downloaded newer image for ghcr.io/sapporo-wes/sapporo-service:1.4.8
ghcr.io/sapporo-wes/sapporo-service:1.4.8

@mr-c mr-c merged commit a941581 into common-workflow-language:main Sep 20, 2022
@mr-c
Copy link
Member

mr-c commented Sep 20, 2022

I started a run at https://github.com/common-workflow-language/cwltool/actions/runs/3089723274/jobs/4997658076 (the publishing may fail, that's okay)

@mr-c
Copy link
Member

mr-c commented Sep 20, 2022

Any idea if it increases the build time too much?

This is indeed quite slow; though it is only run when we make a new release.

Moving the arm64 generation to CircleCI to build natively would be welcome
See https://github.com/common-workflow-language/schema_salad/blob/main/.circleci/config.yml & https://circleci.com/blog/how-to-build-a-docker-image-on-circleci-2-0/ for inspiration

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