Avatar (Fabio Alessandro Locati|Fale)'s blog

Build and publish multi-arch containers with Quay and GitHub Actions

February 29, 2024

When I deploy a system, I always try to automate it fully. There are many reasons for this, one of which is that, in this way, the automation becomes the documentation for the system itself. Another reason that drives me to automate everything is my preference for clean systems. Another consequence of this preference I have is that in the last few years, I’ve moved many systems to a Fedora rpm-ostree flavor (eg: Fedora CoreOS, Fedora IoT, Fedora Atomic) with the various services running in containers managed directly by systemd via podman. I prefer to create container images via CI/CD processes for the same reasons. Since I use Quay.io a lot, I usually leverage its capability to hook into git repos and rebuild images based on git tags or git commits. Recently, I needed a multi-arch image, and I discovered that the usual process does not support multi-arch images.

Read More

GitHub Actions and containers

April 17, 2023

GitHub Actions allows the use of containers with different Operating Systems. Although, it does not mean that everything is seamless when you are using them. I’ve discovered this the hard way! Below are my findings and the process I followed to make the GitHub Action pipeline work properly with containers.

It all started with the addition of a new tool in the pipeline, which was not installable on Ubuntu (the GitHub Actions default operating system), due to a packaging issue. Therefore, I decided to use a Fedora container since I was sure that our toolchain was present and well-maintained in Fedora. After adding the container definition and changing the toolchain installation command from apt to dnf, the pipeline seemed to be working properly. After a few days, it was noticed that the pipeline did not fail but was not working.

Read More