Skip to content
This repository was archived by the owner on Oct 19, 2024. It is now read-only.

feat: Added multiarch builds using GitHub workflows and buildx#184

Merged
alexmt merged 1 commit intoargoproj-labs:masterfrom
mylesagray:master
Feb 28, 2021
Merged

feat: Added multiarch builds using GitHub workflows and buildx#184
alexmt merged 1 commit intoargoproj-labs:masterfrom
mylesagray:master

Conversation

@mylesagray
Copy link
Copy Markdown
Contributor

This PR focuses on creating multiarch images by default (currently linux/amd64,linux/arm64 and linux/arm) this can be easily extended to others).

I have only added pushing to docker.pkg.github.com as that was what existed in the existing ci.yaml file, but it can be trivially extended on request to also push to DockerHub automatically as part of the workflow (would require a username and password secret to be added to the repo for DockerHub).

As it stands, this PR uses Docker Buildx and Qemu to build a common builder image (based on the arch of the platform it is building on) and then creates layers for each target OS and target arch specified here

This removed the need to use the Makefile for release if so desired and can be run completely through GH workflows.

no longer relies on Makefile for release
@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Feb 19, 2021

CLA assistant check
All committers have signed the CLA.

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 19, 2021

Codecov Report

Merging #184 (0b16252) into master (995c813) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #184   +/-   ##
=======================================
  Coverage   51.94%   51.94%           
=======================================
  Files          31       31           
  Lines        1440     1440           
=======================================
  Hits          748      748           
  Misses        556      556           
  Partials      136      136           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 995c813...924ec8e. Read the comment docs.

Copy link
Copy Markdown
Collaborator

@alexmt alexmt left a comment

Choose a reason for hiding this comment

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

Thank you @mylesagray !

You are right, release is not automated yet. As a next step, we can automate pushing release to dockerhub and create Github release as it is done in Argo CD https://github.com/argoproj/argo-cd/blob/24b18a83a6ee1d137bee72aa22383cea14282776/.github/workflows/release.yaml#L219

@alexmt alexmt merged commit 2bc3652 into argoproj-labs:master Feb 28, 2021
@alexmt alexmt mentioned this pull request Feb 28, 2021
@mylesagray
Copy link
Copy Markdown
Contributor Author

@alexmt - I noticed that the CI run failed after merge with the following error:

https://github.com/argoproj-labs/argocd-notifications/runs/1996604100?check_suite_focus=true#step:7:312

Checking this out, there seems to be problems with the deprecated docker packages registry on GitHub:

docker/build-push-action#205
docker/build-push-action#148
docker/build-push-action#148 (comment)
docker/build-push-action#127

The solutions seems to be two step, enabling the new Container Registry support for the Org:

https://docs.github.com/en/packages/guides/enabling-improved-container-support
https://docs.github.com/en/packages/guides/migrating-to-github-container-registry-for-docker-images

In addition to moving off the deprecated registry and on to ghcr.io - are there any objections to me taking a stab at that and also add the DockerHub and GitHub releases integration at the same time?

@alexmt
Copy link
Copy Markdown
Collaborator

alexmt commented Mar 1, 2021

Thank you @mylesagray ! I was about to ask if you know how to fix it.

No objections :) please go ahead. Just enabled the improved container support for argoproj-labs.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants