[CI] Use containers on Linux #2732
Replies: 3 comments 2 replies
-
I really like this idea and given the issues we have had pulling the arm/arch64 compiler tools in CI I think this would be more reliable. It would be great if we could add support or new container for RiscV as well. I also wonder if we really need all those packages or more importantly can we trim down the container for CI to improve the bandwidth and build times. I also wonder if there is an opportunity to add different distros or if that would be valuable to the community. In the past, i had a fedora, container working but would be open to community feedback here. Have you pulled together the data to know how long it takes to run the build? My expectation is the container download adds some time and unfortunately that occurs before the CI system can evaluate the change to determine if the build even needs to happen. But interested to see real numbers. |
Beta Was this translation helpful? Give feedback.
-
Status update / summary:
|
Beta Was this translation helpful? Give feedback.
-
github.com/tianocore/containers has been created. |
Beta Was this translation helpful? Give feedback.
-
I looked into using containers to run the Ubuntu based CI Jobs on Azure DevOps.
Using containers makes the CI independent from the images Azure DevOps provide.
It also gives the opportunity to include build dependencies and tools, so that
these don't need to be fetched for each job.
Here is a PR demonstrating how it could work:
I built a custom Ubuntu 20.04 image. Using the official plain Ubuntu image does
not work, because it lacks
sudo
, which is needed to install dependencies at job runtime.The Dockerfiles are here: https://github.com/osteffenrh/edk2-build-images,
but they should, of course, then move to a repo in the Tianocore group, or something
like that. The images are built automatically via GitHub Actions and then pushed to
ghcr.io.
What do you think? Any comments welcome!
-- Oliver
Beta Was this translation helpful? Give feedback.
All reactions