aboutsummaryrefslogtreecommitdiff
path: root/opal-ci
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2018-05-04 16:06:50 +0930
committerStewart Smith <stewart@linux.ibm.com>2018-05-06 10:27:37 -0500
commitf8ee10ee9505ab44e823586bf5c4ae5b1044df87 (patch)
tree71dd00bd9ecdedaeef1f08686774090a031ebe5a /opal-ci
parenta3b0ce167d6dc01fc158d965bf74eef74a44b49e (diff)
downloadskiboot-f8ee10ee9505ab44e823586bf5c4ae5b1044df87.zip
skiboot-f8ee10ee9505ab44e823586bf5c4ae5b1044df87.tar.gz
skiboot-f8ee10ee9505ab44e823586bf5c4ae5b1044df87.tar.bz2
opal-ci: Add Ubuntu 18.04
Start doing builds on latest LTS. We can simplify the build script a little, as we know that this version of Ubuntu ships with an ARM cross compiler and a Qemu that can run the tests. This provides us with: gcc 7.3.0 (for native and cross-builds) qemu 2.11 clang 6 Simplify the docker script a little by merging the two different install lines, and getting rid of the duplicate 'apt-get update' steps. We now install clang in preparation for future shenanigans, and use the system qemu instead of building one ourselves. Signed-off-by: Joel Stanley <joel@jms.id.au> [stewart: allow 18.04 to fail as we stabilise it in travis] Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'opal-ci')
-rw-r--r--opal-ci/Dockerfile-ubuntu-18.0410
-rwxr-xr-xopal-ci/build-ubuntu-18.04.sh29
2 files changed, 39 insertions, 0 deletions
diff --git a/opal-ci/Dockerfile-ubuntu-18.04 b/opal-ci/Dockerfile-ubuntu-18.04
new file mode 100644
index 0000000..e7ba238
--- /dev/null
+++ b/opal-ci/Dockerfile-ubuntu-18.04
@@ -0,0 +1,10 @@
+FROM ubuntu:18.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 ccache expect libssl-dev wget curl xterm device-tree-compiler build-essential gcc python g++ pkg-config libz-dev libglib2.0-dev libpixman-1-dev libfdt-dev git libstdc++6 valgrind libtcl8.6 gcc-arm-linux-gnueabi clang qemu-system-ppc
+RUN if [ `arch` = "x86_64" ]; then curl -L -O http://public.dhe.ibm.com/software/server/powerfuncsim/p8/packages/v1.0-2/systemsim-p8_1.0-2_amd64.deb; dpkg -i systemsim-p8_1.0-2_amd64.deb; fi
+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
+COPY . /build/
+WORKDIR /build
+ENTRYPOINT ./opal-ci/build-ubuntu-18.04.sh
diff --git a/opal-ci/build-ubuntu-18.04.sh b/opal-ci/build-ubuntu-18.04.sh
new file mode 100755
index 0000000..95f7473
--- /dev/null
+++ b/opal-ci/build-ubuntu-18.04.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+set -uo pipefail
+set -e
+set -vx
+
+MAKE_J=`grep -c processor /proc/cpuinfo`
+
+export CROSS="ccache powerpc64le-linux-gnu-"
+
+make -j${MAKE_J} all
+./opal-ci/fetch-debian-jessie-installer.sh
+make -j${MAKE_J} check
+(make clean; cd external/gard && CROSS= make -j${MAKE_J})
+( cd external/pflash;
+ echo "Building for ARM..."
+ make clean && make distclean
+ CROSS_COMPILE=arm-linux-gnueabi- make || { echo "ARM build failed"; exit 1; }
+)
+(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