-
Notifications
You must be signed in to change notification settings - Fork 81
Centralise Docker setup actions (qemu + buildx) #1036
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
The `docker/setup-buildx-action@v3` with `version: v0.5.1` is duplicated in 7 actions. The version used for the build system should be specified only once - extracted. Note - this version is [old](https://github.com/docker/buildx/releases/tag/v0.5.1) which is what prompted centralising to make it easier to explore upgrading in future.
59f09ad
to
9a6ad5d
Compare
Good change but I think this should ideally go in |
I thought we thought we had to architect it like that to workaround GitHub issues, not that we wanted to - were a long way off having only |
Yes very true but @ldziedziul also made a compelling argument that having code in |
Our main goal is to avoid duplicating workflow logic. However, using bash scripts inside reusable workflows is problematic, as they're executed in the context of the current branch. That means we would need to explicitly check out additional scripts into a separate directory to make it work. A better alternative is to wrap that logic in GitHub Actions. Actions are first-class citizens in GitHub workflows, and this brings several benefits:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can extract it, it's a good direction, but we should consider moving this into docker-actions
The
docker/setup-buildx-action@v3
withversion: v0.5.1
is duplicated in 7 actions. The version used for the build system should be specified only once - extracted.This action could have been externalised to
docker-actions
but seemed overengineered, instead access directly onmaster
- but until merged, the builds will fail. Example execution when hardcoded to execute on this branch.Note - this version is old which is what prompted centralising to make it easier to explore upgrading in future.