Date
1 - 2 of 2
[PATCH v9 06/12] BaseTools: CI: Use Fedora 35 container (Linux only)
Oliver Steffen
Run all Linux based jobs in a container, using a custom Fedora 35 image
(gcc 11). 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. Remove BaseTools/Bin/gcc_*_ext_dep.yaml to stop downloading gcc from external locations; use the gcc provided by the container image instead. The container image sets the variable GCC5_*_PREFIX accordingly. Signed-off-by: Oliver Steffen <osteffen@...> --- .azurepipelines/Ubuntu-GCC5.yml | 2 ++ .../templates/basetools-build-steps.yml | 9 -------- BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml | 21 ------------------ BaseTools/Bin/gcc_arm_linux_ext_dep.yaml | 21 ------------------ ...gcc_loongarch64_unknown_linux_ext_dep.yaml | 22 ------------------- .../Bin/gcc_riscv64_unknown_ext_dep.yaml | 22 ------------------- 6 files changed, 2 insertions(+), 95 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_loongarch64_unknown_linux_ext_dep.yaml delete mode 100644 BaseTools/Bin/gcc_riscv64_unknown_ext_dep.yaml diff --git a/.azurepipelines/Ubuntu-GCC5.yml b/.azurepipelines/Ubuntu-GCC5.yml index 1acd8d2a46a7..0dd9b74de57a 100644 --- a/.azurepipelines/Ubuntu-GCC5.yml +++ b/.azurepipelines/Ubuntu-GCC5.yml @@ -18,5 +18,7 @@ jobs: parameters: tool_chain_tag: 'GCC5' vm_image: 'ubuntu-latest' + container: 'ghcr.io/tianocore/containers/fedora-35-build:2113a0e' + usePythonVersion: '' # use Python from the container image arch_list: "IA32,X64,ARM,AARCH64,RISCV64,LOONGARCH64" diff --git a/.azurepipelines/templates/basetools-build-steps.yml b/.azurepipelines/templates/basetools-build-steps.yml index d8c108c6e212..a72758bc3395 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/BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml b/BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml deleted file mode 100644 index ff8a9e868100..000000000000 --- a/BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml +++ /dev/null @@ -1,21 +0,0 @@ -## @file -# Download GCC AARCH64 compiler from Arm's release site -# Set shell variable GCC5_AARCH64_INSTALL to this folder -# -# This is only downloaded when a build activates scope gcc_aarch64_linux -# -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: BSD-2-Clause-Patent -## -{ - "scope": "gcc_aarch64_linux", - "type": "web", - "name": "gcc_aarch64_linux", - "source": "https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu.tar.xz", - "version": "11.2-2022.02", - "sha256": "52dbac3eb71dbe0916f60a8c5ab9b7dc9b66b3ce513047baa09fae56234e53f3", - "compression_type": "tar", - "internal_path": "/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu/", - "flags": ["set_shell_var", ], - "var_name": "GCC5_AARCH64_INSTALL" -} diff --git a/BaseTools/Bin/gcc_arm_linux_ext_dep.yaml b/BaseTools/Bin/gcc_arm_linux_ext_dep.yaml deleted file mode 100644 index 151cbfa4b532..000000000000 --- a/BaseTools/Bin/gcc_arm_linux_ext_dep.yaml +++ /dev/null @@ -1,21 +0,0 @@ -## @file -# Download GCC ARM compiler from Arm's release site -# Set shell variable GCC5_ARM_INSTALL to this folder -# -# This is only downloaded when a build activates scope gcc_arm_linux -# -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: BSD-2-Clause-Patent -## -{ - "scope": "gcc_arm_linux", - "type": "web", - "name": "gcc_arm_linux", - "source": "https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf.tar.xz", - "version": "11.2-2022.02", - "sha256": "c254f7199261fe76c32ef42187502839bda7efad0a66646cf739d074eff45fad", - "compression_type": "tar", - "internal_path": "/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/", - "flags": ["set_shell_var", ], - "var_name": "GCC5_ARM_INSTALL" -} diff --git a/BaseTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml b/BaseTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml deleted file mode 100644 index fe9a2448531a..000000000000 --- a/BaseTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml +++ /dev/null @@ -1,22 +0,0 @@ -## @file -# Download GCC LoongArch64 compiler from LoongArch GitHub release site -# Set shell variable GCC5_LOONGARCH64_INSTALL to this folder -# -# This is only downloaded when a build activates scope gcc_loongarch64_unknown_linux -# -# Copyright (c) Microsoft Corporation. -# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR> -# SPDX-License-Identifier: BSD-2-Clause-Patent -## -{ - "scope": "gcc_loongarch64_unknown_linux", - "type": "web", - "name": "gcc_loongarch64_unknown_linux", - "source":"https://github.com/loongson/build-tools/releases/download/2022.09.06/loongarch64-clfs-6.3-cross-tools-gcc-full.tar.xz", - "version": "13.0.0", - "sha256":"27a43c5bb127794f091d0e75da0003c4d0eec28a958d8f2cc7cd290a6e6133ab", - "compression_type": "tar", - "internal_path": "/cross-tools/", - "flags": ["set_shell_var", ], - "var_name": "GCC5_LOONGARCH64_INSTALL" -} diff --git a/BaseTools/Bin/gcc_riscv64_unknown_ext_dep.yaml b/BaseTools/Bin/gcc_riscv64_unknown_ext_dep.yaml deleted file mode 100644 index 8abbcd7ba040..000000000000 --- a/BaseTools/Bin/gcc_riscv64_unknown_ext_dep.yaml +++ /dev/null @@ -1,22 +0,0 @@ -## @file -# Download GCC RISCV64 compiler from RISC-V Organization release site -# Set shell variable GCC5_RISCV64_INSTALL to this folder -# -# This is only downloaded when a build activates scope gcc_riscv64_unknown -# -# Copyright (c) Microsoft Corporation. -# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> -# SPDX-License-Identifier: BSD-2-Clause-Patent -## -{ - "scope": "gcc_riscv64_unknown", - "type": "web", - "name": "gcc_riscv64_unknown", - "source": "https://raw.githubusercontent.com/riscv/riscv-uefi-edk2-docs/master/gcc-riscv-edk2-ci-toolchain/gcc-riscv-9.2.0-2020.04-x86_64_riscv64-unknown-gnu.tar.xz", - "version": "9.2.0", - "compression_type": "tar", - "sha256": "28373643b69f0ce008273c3dc63f172aa1121952f1b9ae94d7485ac94af7f344", - "internal_path": "/gcc-riscv-9.2.0-2020.04-x86_64_riscv64-unknown-gnu", - "flags": ["set_shell_var", ], - "var_name": "GCC5_RISCV64_INSTALL" -} -- 2.38.1 |
|
Michael Kubacki
The changes in .azurepipelines and BaseTools need to be split up into separate patches.
toggle quoted message
Show quoted text
On 11/30/2022 5:01 PM, Oliver Steffen wrote:
Run all Linux based jobs in a container, using a custom Fedora 35 image |
|