public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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"
> -}

  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