From ef091600984386abeb8b0cc7ae267ba6011babbd Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Tue, 17 Jan 2023 19:09:09 +0100 Subject: [PATCH] CI: Use Fedora 35 container (Linux only) Run all Linux based jobs in a container, using a custom Fedora 35 image (gcc 11). The image URL specified in the defaults.yml template, so that all CI jobs can use it. The image is hosted on ghcr.io and the Dockerfiles are here: https://github.com/tianocore/containers The version numbers of gcc, iasl, and nasm are pinned to avoid unintended upgrades during image rebuild. Do not run apt-get in CI jobs to install qemu and gcc dependencies. Assume the container image provides these. Use Python from the container image, do not download at runtime. Signed-off-by: Oliver Steffen Reviewed-by: Michael Kubacki Acked-by: Ard Biesheuvel Acked-by: Gerd Hoffmann Reviewed-by: Chris Fernald --- .azurepipelines/Ubuntu-GCC5.yml | 3 ++- .azurepipelines/templates/basetools-build-steps.yml | 9 --------- .azurepipelines/templates/defaults.yml | 1 + 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/.azurepipelines/Ubuntu-GCC5.yml b/.azurepipelines/Ubuntu-GCC5.yml index 4f9dcf0170..c3f29625a5 100644 --- a/.azurepipelines/Ubuntu-GCC5.yml +++ b/.azurepipelines/Ubuntu-GCC5.yml @@ -21,5 +21,6 @@ jobs: parameters: tool_chain_tag: 'GCC5' vm_image: 'ubuntu-latest' + container: ${{ variables.default_linux_image }} arch_list: "IA32,X64,ARM,AARCH64,RISCV64,LOONGARCH64" - usePythonVersion: ${{ variables.default_python_version }} + usePythonVersion: '' # use Python from the container image diff --git a/.azurepipelines/templates/basetools-build-steps.yml b/.azurepipelines/templates/basetools-build-steps.yml index d8c108c6e2..a72758bc33 100644 --- a/.azurepipelines/templates/basetools-build-steps.yml +++ b/.azurepipelines/templates/basetools-build-steps.yml @@ -10,15 +10,6 @@ parameters: tool_chain_tag: '' steps: -- ${{ if contains(parameters.tool_chain_tag, 'GCC') }}: - - bash: sudo apt-get update - displayName: Update apt - condition: and(gt(variables.pkg_count, 0), succeeded()) - - - bash: sudo apt-get install gcc g++ make uuid-dev - displayName: Install required tools - condition: and(gt(variables.pkg_count, 0), succeeded()) - - task: CmdLine@1 displayName: Build Base Tools from source inputs: diff --git a/.azurepipelines/templates/defaults.yml b/.azurepipelines/templates/defaults.yml index b4909448bd..74d6b41783 100644 --- a/.azurepipelines/templates/defaults.yml +++ b/.azurepipelines/templates/defaults.yml @@ -9,3 +9,4 @@ variables: default_python_version: ">=3.10.6" + default_linux_image: "ghcr.io/tianocore/containers/fedora-35-test:47addc9"