Add aarch64 variante of the docker images #204
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Problem
I am developing an app which I create flatpak images for, both for
x86_64
andaarch64
. The Problem is, that the CI Pipeline regularly fails with "no storage space left on device" or similar errors for theaarch64
builds. The reason this is happening is simple:The current images only include the
x86_64
variants of the Platforms and SDKs. When building foraarch64
, the flatpak builder action installs the missingaarch64
libraries. You can see this happening here: https://github.com/flatpak/flatpak-github-actions/actions/runs/10935029440/job/30356078699#step:6:58The problem is that having both architectures installed simply costs to much space and brings the GitHub Actions Runners to their limits, especially when adding additional SDKs like llvm or building larger projects that need to install additional stuff.
This seems to affect other people as well, see #181.
The Solution
This PR proposes a solution to that problem. Simply build 2 images for each SDK - one with the
x86_64
arch and one usingaarch64
. This PR does this by adding another dimension to the build matrix and dynamically "inserting" the correct arch for each build. I also made sure to not break the existing images, which is why the tags of the old ones are not changed, but instead a new one foraarch64
is added. For example, for thefreedesktop-24.08
SDK, the following images will be created:bilelmoussaoui/flatpak-github-actions:freedesktop-24.08
(x86_64
- name has not changed)bilelmoussaoui/flatpak-github-actions:freedesktop-24.08-aarch64
(aarch64
- new image tag)Please note that the
CI
Pipeline will fail until the first images have been published, because it now uses theaarch64
variant of it's image for the corresponding tests.If you want to try out the new images first, I uploaded one for freedesktop and one for gnome under my own prefix to test the changes myself: https://hub.docker.com/repository/docker/skycoder42/flatpak-github-actions/general
If you have any further questions or suggestions, please don't hesitate to ask!