[PATCH v10 10/17] OvmfPkg: 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.

Signed-off-by: Oliver Steffen <osteffen@...>
---
OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
index 6dd90711ac70..984782aa7d19 100644
--- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
+++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
@@ -15,9 +15,6 @@ pr:
- master
- stable/*

-variables:
- - template: ../../../.azurepipelines/templates/defaults.yml
-
jobs:
- job: Platform_CI
variables:
@@ -180,6 +177,8 @@ jobs:
pool:
vmImage: $(vm_image)

+ container: 'ghcr.io/tianocore/containers/fedora-35-test:2113a0e'
+
steps:
- template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
parameters:
@@ -190,8 +189,4 @@ jobs:
build_file: $(Build.File)
build_flags: $(Build.Flags)
run_flags: $(Run.Flags)
- usePythonVersion: ${{ variables.default_python_version }}
- extra_install_step:
- - bash: sudo apt-get install qemu
- displayName: Install qemu
- condition: and(gt(variables.pkg_count, 0), succeeded())
+ usePythonVersion: '' # use Python from the container image
--
2.38.1


Michael Kubacki
 

Reviewed-by: Michael Kubacki <michael.kubacki@...>

On 12/1/2022 3:28 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.
Signed-off-by: Oliver Steffen <osteffen@...>
---
OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
index 6dd90711ac70..984782aa7d19 100644
--- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
+++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
@@ -15,9 +15,6 @@ pr:
- master
- stable/*
-variables:
- - template: ../../../.azurepipelines/templates/defaults.yml
-
jobs:
- job: Platform_CI
variables:
@@ -180,6 +177,8 @@ jobs:
pool:
vmImage: $(vm_image)
+ container: 'ghcr.io/tianocore/containers/fedora-35-test:2113a0e'
+
steps:
- template: ../../../.azurepipelines/templates/platform-build-run-steps.yml
parameters:
@@ -190,8 +189,4 @@ jobs:
build_file: $(Build.File)
build_flags: $(Build.Flags)
run_flags: $(Run.Flags)
- usePythonVersion: ${{ variables.default_python_version }}
- extra_install_step:
- - bash: sudo apt-get install qemu
- displayName: Install qemu
- condition: and(gt(variables.pkg_count, 0), succeeded())
+ usePythonVersion: '' # use Python from the container image