* [PATCH] EmulatorPkg: Re-enable IA32 GCC5 CI builds
@ 2021-11-03 5:50 Akira Moroo
0 siblings, 0 replies; only message in thread
From: Akira Moroo @ 2021-11-03 5:50 UTC (permalink / raw)
To: devel; +Cc: Akira Moroo, Andrew Fish, Ray Ni
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3156
This commit re-enables the EmulatorPkg IA32 GCC5 CI builds with fixing
library dependencies.
The IA32 GCC5 CI builds are broken as the CI runner environment has
changed. According to commit `612edbe6cd71f4392b681b75849b2ab6e48f592d`,
which temporary disabled the CI builds, they are not working due to a
failure to install the i386 library dependencies in Ubuntu 18.04.
As previously commented in the Github Actions issue[1], the missing gcc
multi-architecture libraries prevent from successful build. This commit
fixes this issue by adding the missing library with version specified.
[1]
https://github.com/actions/virtual-environments/issues/2324#issuecomment-749985726
Cc: Andrew Fish <afish@apple.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Akira Moroo <retrage01@gmail.com>
---
.../.azurepipelines/Ubuntu-GCC5.yml | 53 +++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
index 416c15e708..587976d815 100644
--- a/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
+++ b/EmulatorPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
@@ -47,6 +47,27 @@ jobs:
Build.Target: "NOOPT"
Run.Flags: $(run_flags)
Run: $(should_run)
+ EmulatorPkg_IA32_DEBUG:
+ Build.File: "$(package)/PlatformCI/PlatformBuild.py"
+ Build.Arch: "IA32"
+ Build.Flags: ""
+ Build.Target: "DEBUG"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+ EmulatorPkg_IA32_RELEASE:
+ Build.File: "$(package)/PlatformCI/PlatformBuild.py"
+ Build.Arch: "IA32"
+ Build.Flags: ""
+ Build.Target: "RELEASE"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+ EmulatorPkg_IA32_NOOPT:
+ Build.File: "$(package)/PlatformCI/PlatformBuild.py"
+ Build.Arch: "IA32"
+ Build.Flags: ""
+ Build.Target: "NOOPT"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
EmulatorPkg_X64_FULL_DEBUG:
Build.File: "$(package)/PlatformCI/PlatformBuild.py"
Build.Arch: "X64"
@@ -68,6 +89,27 @@ jobs:
Build.Target: "NOOPT"
Run.Flags: $(run_flags)
Run: $(should_run)
+ EmulatorPkg_IA32_FULL_DEBUG:
+ Build.File: "$(package)/PlatformCI/PlatformBuild.py"
+ Build.Arch: "IA32"
+ Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE"
+ Build.Target: "DEBUG"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+ EmulatorPkg_IA32_FULL_RELEASE:
+ Build.File: "$(package)/PlatformCI/PlatformBuild.py"
+ Build.Arch: "IA32"
+ Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE"
+ Build.Target: "RELEASE"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
+ EmulatorPkg_IA32_FULL_NOOPT:
+ Build.File: "$(package)/PlatformCI/PlatformBuild.py"
+ Build.Arch: "IA32"
+ Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=TRUE"
+ Build.Target: "NOOPT"
+ Run.Flags: $(run_flags)
+ Run: $(should_run)
workspace:
clean: all
@@ -85,3 +127,14 @@ jobs:
build_file: $(Build.File)
build_flags: $(Build.Flags)
run_flags: $(Run.Flags)
+ # Add steps to install some IA32 only dependencies
+ extra_install_step:
+ - bash: sudo dpkg --add-architecture i386
+ displayName: Add i386 to dpkg
+ condition: and(gt(variables.pkg_count, 0), eq(variables['Build.Arch'], 'IA32'), succeeded())
+ - bash: sudo apt-get update
+ displayName: do apt-get update
+ condition: and(gt(variables.pkg_count, 0), eq(variables['Build.Arch'], 'IA32'), succeeded())
+ - bash: sudo apt-get install libc6-dev:i386 libx11-dev:i386 libxext-dev:i386 lib32gcc-9-dev gcc-9-multilib
+ displayName: Add additional i386 packages
+ condition: and(gt(variables.pkg_count, 0), eq(variables['Build.Arch'], 'IA32'), succeeded())
--
2.33.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-11-03 5:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-03 5:50 [PATCH] EmulatorPkg: Re-enable IA32 GCC5 CI builds Akira Moroo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox