aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/docker-builds-checks.yml2
-rw-r--r--opal-ci/Dockerfile-ubuntu-22.0410
-rwxr-xr-xopal-ci/build-ubuntu-22.04.sh31
3 files changed, 42 insertions, 1 deletions
diff --git a/.github/workflows/docker-builds-checks.yml b/.github/workflows/docker-builds-checks.yml
index a9878fd..f5d6478 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 0000000..f9f09e9
--- /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 0000000..ba070b4
--- /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