diff mbox series

[2/3] CI: Add testing on Ubuntu 22.04 LTS

Message ID 20220506144807.230013-3-fbarrat@linux.ibm.com
State Accepted
Headers show
Series CI refresh | expand

Commit Message

Frederic Barrat May 6, 2022, 2:48 p.m. UTC
New LTS release from Canonical. So let's split it from ubuntu-rolling,
which will keep tracking the latest.

Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
---
 .github/workflows/docker-builds-checks.yml |  2 +-
 opal-ci/Dockerfile-ubuntu-22.04            | 10 +++++++
 opal-ci/build-ubuntu-22.04.sh              | 31 ++++++++++++++++++++++
 3 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 opal-ci/Dockerfile-ubuntu-22.04
 create mode 100755 opal-ci/build-ubuntu-22.04.sh
diff mbox series

Patch

diff --git a/.github/workflows/docker-builds-checks.yml b/.github/workflows/docker-builds-checks.yml
index a9878fd5..f5d64784 100644
--- a/.github/workflows/docker-builds-checks.yml
+++ b/.github/workflows/docker-builds-checks.yml
@@ -12,7 +12,7 @@  jobs:
       fail-fast: false
 
       matrix:
-        os: [ ubuntu-18.04, ubuntu-20.04, ubuntu-rolling, centos7, fedora34, fedora35, docs ]
+        os: [ ubuntu-18.04, ubuntu-20.04, ubuntu-22.04, ubuntu-rolling, centos7, fedora34, fedora35, docs ]
 
     steps:
       - uses: actions/checkout@v2
diff --git a/opal-ci/Dockerfile-ubuntu-22.04 b/opal-ci/Dockerfile-ubuntu-22.04
new file mode 100644
index 00000000..f9f09e97
--- /dev/null
+++ b/opal-ci/Dockerfile-ubuntu-22.04
@@ -0,0 +1,10 @@ 
+FROM ubuntu:22.04
+ENV DEBIAN_FRONTEND    noninteractive
+RUN apt-get update -qq
+RUN if [ `arch` != "ppc64le" ]; then apt-get install -y gcc-powerpc64le-linux-gnu; fi
+RUN apt-get install -y gcc-arm-linux-gnueabi || true
+RUN apt-get install -y gcc ccache expect libssl-dev wget curl xterm device-tree-compiler build-essential gcc python3 g++ pkg-config libz-dev libglib2.0-dev libpixman-1-dev libfdt-dev git libstdc++6 valgrind libtcl8.6 libmbedtls-dev
+RUN if [ `arch` = "x86_64" ]; then curl -O http://public.dhe.ibm.com/software/server/powerfuncsim/p9/packages/v1.1-0/systemsim-p9-1.1-0-trusty_amd64.deb; dpkg -i systemsim-p9-1.1-0-trusty_amd64.deb; fi
+RUN if [ `arch` = "x86_64" ]; then curl -O http://public.dhe.ibm.com/software/server/powerfuncsim/p10/packages/v1.2-1/ubuntu2004/systemsim-p10_1.2-1_amd64.deb; dpkg -i systemsim-p10_1.2-1_amd64.deb; fi
+COPY . /build/
+WORKDIR /build
diff --git a/opal-ci/build-ubuntu-22.04.sh b/opal-ci/build-ubuntu-22.04.sh
new file mode 100755
index 00000000..ba070b4b
--- /dev/null
+++ b/opal-ci/build-ubuntu-22.04.sh
@@ -0,0 +1,31 @@ 
+#!/bin/bash
+
+set -uo pipefail
+set -e
+set -vx
+
+MAKE_J=$(nproc)
+
+export CROSS="ccache powerpc64le-linux-gnu-"
+
+make -j${MAKE_J} all
+make -j${MAKE_J} check
+(make clean; cd external/gard && CROSS= make -j${MAKE_J})
+# because some ppc64le versions don't have arm cross compiler
+if which arm-linux-gnueabi-gcc; then
+    ( cd external/pflash;
+      echo "Building for ARM..."
+      make clean && make distclean
+      CROSS_COMPILE=arm-linux-gnueabi-  make || { echo "ARM build failed"; exit 1; }
+    )
+fi
+(cd external/pflash; make clean && make distclean && make)
+make clean
+SKIBOOT_GCOV=1 make -j${MAKE_J}
+SKIBOOT_GCOV=1 make -j${MAKE_J} check
+
+make clean
+rm -rf builddir
+mkdir builddir
+make SRC=$(pwd) -f ../Makefile -C builddir -j${MAKE_J}
+make clean