From: "Michael Kubacki" <mikuback@linux.microsoft.com>
To: devel@edk2.groups.io, osteffen@redhat.com
Cc: Andrew Fish <afish@apple.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Bob Feng <bob.c.feng@intel.com>,
Daniel Schaefer <git@danielschaefer.me>,
Gerd Hoffmann <kraxel@redhat.com>,
Jiewen Yao <jiewen.yao@intel.com>,
Jordan Justen <jordan.l.justen@intel.com>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Michael D Kinney <michael.d.kinney@intel.com>,
Ray Ni <ray.ni@intel.com>, Sami Mujawar <sami.mujawar@arm.com>,
Sean Brogan <sean.brogan@microsoft.com>,
Sunil V L <sunilvl@ventanamicro.com>,
Yuwei Chen <yuwei.chen@intel.com>,
Zhiguang Liu <zhiguang.liu@intel.com>,
Pawel Polawski <ppolawsk@redhat.com>,
Chris Fernald <chfernal@microsoft.com>
Subject: Re: [edk2-devel] [PATCH v9 06/12] BaseTools: CI: Use Fedora 35 container (Linux only)
Date: Wed, 30 Nov 2022 19:05:53 -0500 [thread overview]
Message-ID: <b5a3b91c-1955-01c1-e5ad-066c53d6f24a@linux.microsoft.com> (raw)
In-Reply-To: <CA+bRGFoq1VA-Jijqr7junx6iVY3FOt0U62-Hoy-0qwEs8Grx4Q@mail.gmail.com>
The changes in .azurepipelines and BaseTools need to be split up into
separate patches.
On 11/30/2022 5:01 PM, Oliver Steffen wrote:
> 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@redhat.com>
> ---
> .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"
> -}
next prev parent reply other threads:[~2022-12-01 0:05 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20221130220125.1112760-1-osteffen@redhat.com>
2022-11-30 22:01 ` [PATCH v9 01/12] CI: make Python version configurable Oliver Steffen
2022-11-30 23:46 ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 02/12] OvmfPkg: CI: use Python version from defaults template Oliver Steffen
2022-12-01 0:04 ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 03/12] EmulatorPkg: " Oliver Steffen
2022-12-01 0:04 ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 04/12] CI: add ~/.local/bin to PATH (Linux only) Oliver Steffen
2022-12-01 0:05 ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 05/12] CI: Allow running in a container Oliver Steffen
2022-12-01 0:05 ` [edk2-devel] " Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 06/12] BaseTools: CI: Use Fedora 35 container (Linux only) Oliver Steffen
2022-12-01 0:05 ` Michael Kubacki [this message]
2022-11-30 22:01 ` [PATCH v9 07/12] ArmVirtPkg: " Oliver Steffen
2022-11-30 22:01 ` [PATCH v9 08/12] OvmfPkg: " Oliver Steffen
2022-11-30 22:01 ` [PATCH v9 09/12] EmulatorPkg: " Oliver Steffen
2022-11-30 22:01 ` [PATCH v9 10/12] .pytool: CISettings.py: don't add scopes for GCC Oliver Steffen
2022-12-01 0:02 ` Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 11/12] CI: use latest vm_image (Linux only) Oliver Steffen
2022-11-30 23:41 ` Michael Kubacki
2022-12-01 0:03 ` Michael Kubacki
2022-11-30 22:01 ` [PATCH v9 12/12] do not merge: modify *.dsc to trigger CI Oliver Steffen
2022-11-30 22:04 ` Oliver Steffen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b5a3b91c-1955-01c1-e5ad-066c53d6f24a@linux.microsoft.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox