public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chris Fernald" <chris.fernald@outlook.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>,
	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>,
	Michael Kubacki <mikuback@linux.microsoft.com>,
	Ray Ni <ray.ni@intel.com>, Sami Mujawar <sami.mujawar@arm.com>,
	Sean Brogan <sean.brogan@microsoft.com>,
	Yuwei Chen <yuwei.chen@intel.com>,
	Pawel Polawski <ppolawsk@redhat.com>
Subject: Re: [edk2-devel] [PATCH v5 3/4] CI: Use Fedora 35 container (Linux only)
Date: Tue, 20 Sep 2022 13:01:04 -0700	[thread overview]
Message-ID: <IA1PR19MB627518AB4C915167E5D66E5FE74C9@IA1PR19MB6275.namprd19.prod.outlook.com> (raw)
In-Reply-To: <20220920144524.1098189-4-osteffen@redhat.com>

Similar to my comment about the assumption in use of python, I believe 
the container should be determined and passed in as a parameter from the 
top level pipeline file rather then relying on tool chain tag. This lets 
the templates take action on being containerized rather then assuming 
the tool chain. Additionally, this would give consistency between the 
platform and PR templates which currently make opposite assumption about 
consumer vs template determining the container image.

Chris Fernald
Microsoft

On 9/20/2022 7:45 AM, 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.
> 
> Signed-off-by: Oliver Steffen <osteffen@redhat.com>
> ---
>   .azurepipelines/templates/basetools-build-steps.yml    | 9 ---------
>   .azurepipelines/templates/pr-gate-build-job.yml        | 3 +++
>   ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml  | 6 ++----
>   EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml | 2 ++
>   OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml     | 6 ++----
>   5 files changed, 9 insertions(+), 17 deletions(-)
> 
> 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/.azurepipelines/templates/pr-gate-build-job.yml b/.azurepipelines/templates/pr-gate-build-job.yml
> index 0e4ad019bf03..95ed03fb7e17 100644
> --- a/.azurepipelines/templates/pr-gate-build-job.yml
> +++ b/.azurepipelines/templates/pr-gate-build-job.yml
> @@ -63,6 +63,9 @@ jobs:
>     pool:
>       vmImage: ${{ parameters.vm_image }}
>   
> +  ${{ if contains(parameters.tool_chain_tag, 'GCC') }}:
> +    container: 'ghcr.io/tianocore/containers/fedora-35-test:46de622'
> +
>     steps:
>     - template: pr-gate-steps.yml
>       parameters:
> diff --git a/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> index b07e3199f143..664edbfc8053 100644
> --- a/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> +++ b/ArmVirtPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> @@ -75,6 +75,8 @@ jobs:
>       pool:
>         vmImage: $(vm_image)
>   
> +    container: 'ghcr.io/tianocore/containers/fedora-35-test:46de622'
> +
>       steps:
>       - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
>         parameters:
> @@ -85,7 +87,3 @@ jobs:
>           build_file: $(Build.File)
>           build_flags: $(Build.Flags)
>           run_flags: $(Run.Flags)
> -        extra_install_step:
> -        - bash: sudo apt-get install qemu
> -          displayName: Install qemu
> -          condition: and(gt(variables.pkg_count, 0), succeeded())
> diff --git a/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> index 416c15e70840..9cda8d1fbf34 100644
> --- a/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> +++ b/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> @@ -75,6 +75,8 @@ jobs:
>       pool:
>         vmImage: $(vm_image)
>   
> +    container: 'ghcr.io/tianocore/containers/fedora-35-test:46de622'
> +
>       steps:
>       - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
>         parameters:
> diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> index 7160d95f7e04..9c49ce16fccc 100644
> --- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> +++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
> @@ -177,6 +177,8 @@ jobs:
>       pool:
>         vmImage: $(vm_image)
>   
> +    container: 'ghcr.io/tianocore/containers/fedora-35-test:46de622'
> +
>       steps:
>       - template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
>         parameters:
> @@ -187,7 +189,3 @@ jobs:
>           build_file: $(Build.File)
>           build_flags: $(Build.Flags)
>           run_flags: $(Run.Flags)
> -        extra_install_step:
> -        - bash: sudo apt-get install qemu
> -          displayName: Install qemu
> -          condition: and(gt(variables.pkg_count, 0), succeeded())

  reply	other threads:[~2022-09-20 20:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-20 14:45 [PATCH v5 0/4] CI: Use Fedora 35 container for Linux jobs Oliver Steffen
2022-09-20 14:45 ` [PATCH v5 1/4] CI: don't force python verison (Linux only) Oliver Steffen
2022-09-20 19:41   ` [edk2-devel] " Chris Fernald
2022-09-21  8:31     ` Gerd Hoffmann
2022-09-20 14:45 ` [PATCH v5 2/4] CI: add ~/.local/bin to PATH " Oliver Steffen
2022-09-20 14:45 ` [PATCH v5 3/4] CI: Use Fedora 35 container " Oliver Steffen
2022-09-20 20:01   ` Chris Fernald [this message]
2022-09-21  8:26     ` [edk2-devel] " Gerd Hoffmann
2022-09-22  0:33       ` Chris Fernald
2022-09-20 14:45 ` [PATCH v5 4/4] BaseTools: Remove ext. gcc dependencies " 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=IA1PR19MB627518AB4C915167E5D66E5FE74C9@IA1PR19MB6275.namprd19.prod.outlook.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