diff options
author | Joel Stanley <joel@jms.id.au> | 2018-05-04 16:06:50 +0930 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2018-05-06 10:27:37 -0500 |
commit | f8ee10ee9505ab44e823586bf5c4ae5b1044df87 (patch) | |
tree | 71dd00bd9ecdedaeef1f08686774090a031ebe5a /opal-ci | |
parent | a3b0ce167d6dc01fc158d965bf74eef74a44b49e (diff) | |
download | skiboot-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.04 | 10 | ||||
-rwxr-xr-x | opal-ci/build-ubuntu-18.04.sh | 29 |
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 |