We've predominantly used the buildah action for all of our builds.
However, our runners run Ubuntu 22.04 and the podman version is quite old. We've run into numerous issues where things will build locally since we are on a newer version of podman but fail in CI due to the version difference.
We've transitioned some of our workflows to using docker instead and some of our workflows are pinned to fedora 39 to avoid the buildah bugs.
In a few months 24.04 runners will be available but this cycle of old podman is likely to repeat.
There was a homebrew action for installing a newer podman, but unfortunately that seems to not quite work.
Should we consider moving our build actions to docker since that is actually upgraded on our runners and will result in a more consistent build process?
When I moved the local builds of bluefin to docker, I had to make some changes to the Containerfile since Docker cannot resolve a COPY --from with shell expansion variables. Otherwise, it should be a smooth transition.
I like the idea of sticking with podman, but the problem is the combination of support for podman/ubuntu on GitHub actions. Without GitHub offering RHEL based builders which support more current podman, I agree itβs possible weβll hit this kind of stuff in the future.
Torn on this. A long time ago I investigated using the latest version of Podman on runners however there wasn't a very clean way of doing it. My vote goes to using Docker to avoid this toil. We can also leverage buildx and all of the other awesome stuff it provides
Right now config is using a fedora 39 container to avoid the tar bug.
Ucore is on docker.
Somehow bluefin isn't being bitten by the tar bug even though we untar things but yesterday when working with a better install method for brew it was blowing up all over the place.
I think most of my annoyance is that it's Ubuntu runners so we're kinda building outside of the expected ecosystem
My only worry is we will want to include BIB and other RedHat services in our workflows, which are build for Podman. Podman has some features that upstream (and possibly us) may use in the future Like the magic they are doing with the bootc builds
IMO if we maintain a simple action "setup-podman" which installs Podman using aptapt,
brew
brew
or manually, we no longer run into the issue with Ubuntu shipping an outdated version, and we can still benefit from being in the RedHat ecosystem as much as possible
I feel RedHat MUST support GitHub Actions for what they are building. I see no other way. It's one of the most used CI services, and it doesn't make sense for them to only support GitLab with their new AI stuff
Either we'd need to build a Buildah/Podman Wolfi container and run everything through that or I'd need a compelling justification to add it to our official image suite. We'd likely need to write our own build action
As much as I appreciate these efforts. Running tools in containers in actions adds more complexity and I think thatβs not the desired direction for this issue
I might just ask in Matrix something like "Given the new Bootc containers which expects people to extend the base images with custom layers, the issues with maintaining an up-to-date Ubuntu Podman package and the incompatibilities with the older Podman version and Fedora 40 images, do you have any plans internally to support other ways of setting up Podman in GitHub Actions?"