public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 0/4] CI: Use Fedora 35 container for Linux jobs
@ 2022-06-07 11:59 Oliver Steffen
  2022-06-07 11:59 ` [PATCH v2 1/4] CI: don't force python verison (Linux only) Oliver Steffen
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Oliver Steffen @ 2022-06-07 11:59 UTC (permalink / raw)
  To: devel
  Cc: afish, ardb+tianocore, bob.c.feng, Bret.Barkelew, gaoliming,
	jiewen.yao, jordan.l.justen, kraxel, michael.d.kinney,
	quic_llindhol, ray.ni, sami.mujawar, sean.brogan, yuwei.chen,
	Oliver Steffen, Ard Biesheuvel


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 <ardb@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


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-06-08  6:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-07 11:59 [PATCH v2 0/4] CI: Use Fedora 35 container for Linux jobs Oliver Steffen
2022-06-07 11:59 ` [PATCH v2 1/4] CI: don't force python verison (Linux only) Oliver Steffen
2022-06-07 11:59 ` [PATCH v2 2/4] CI: add ~/.local/bin to PATH " Oliver Steffen
2022-06-07 11:59 ` [PATCH v2 3/4] CI: Use Fedora 35 container " Oliver Steffen
2022-06-07 11:59 ` [PATCH v2 4/4] BaseTools: Remove ext. gcc dependencies " Oliver Steffen
2022-06-08  6:25 ` [PATCH v2 0/4] CI: Use Fedora 35 container for Linux jobs Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox