Update CI, run all Linux (aka Ubuntu-GCC5) bases jobs in custom containers.
The container image provides the required compiler toolchains and Qemu for the supported architectures. These are then no longer downloaded at runtime, avoiding CI failures due to download errors. This approach also makes it easier to switch to other or newer compilers. It makes the CI setup independent from the default images that Azure DevOps provides. The container images are hosted on ghcr.io and are automatically generated using GitHub Actions. The Dockerfiles are maintained in the Tianocore "containers" repository: https://github.com/tianocore/containers. The current image is based on Fedora 35, with gcc 11. Fedora was chosen because of its fast release cycle which makes it easy to keep the toolchains up-to-date. Some further possible changes not included in this series: - Use a stack of layered images. One image for general purpose and build-only jobs and one that adds Qemu to the first, for the testing job that involve Qemu. This reduces the total download size. This was suggested by Chris Fernald. The work in the image side is done, need to change the CI setup accordingly. - Further reduce the number of external dependencies that need to be downloaded at runtime. Candidates are iasl and nasm, which are already included in the image but not used yet. PR: https://github.com/tianocore/edk2/pull/2935 v2: - Images are now hosted under the Tianocore Organization https://github.com/tianocore/containers v1: - Thread: https://edk2.groups.io/g/devel/message/89058 - Images were hosted at https://github.com/osteffenrh/edk2-build-images Acked-by: Ard Biesheuvel <a...@kernel.org> Oliver Steffen (4): CI: don't force python verison (Linux only) CI: add ~/.local/bin to PATH (Linux only) CI: Use Fedora 35 container (Linux only) BaseTools: Remove ext. gcc dependencies (Linux only) .../templates/basetools-build-steps.yml | 9 -------- .../templates/platform-build-run-steps.yml | 7 ++++++ .../templates/pr-gate-build-job.yml | 3 +++ .azurepipelines/templates/pr-gate-steps.yml | 7 ++++++ .../.azurepipelines/Ubuntu-GCC5.yml | 6 ++--- BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml | 21 ------------------ BaseTools/Bin/gcc_arm_linux_ext_dep.yaml | 21 ------------------ .../Bin/gcc_riscv64_unknown_ext_dep.yaml | 22 ------------------- .../.azurepipelines/Ubuntu-GCC5.yml | 2 ++ .../.azurepipelines/Ubuntu-GCC5.yml | 6 ++--- 10 files changed, 23 insertions(+), 81 deletions(-) delete mode 100644 BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml delete mode 100644 BaseTools/Bin/gcc_arm_linux_ext_dep.yaml delete mode 100644 BaseTools/Bin/gcc_riscv64_unknown_ext_dep.yaml -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90290): https://edk2.groups.io/g/devel/message/90290 Mute This Topic: https://groups.io/mt/91598520/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-