aboutsummaryrefslogtreecommitdiff
path: root/opal-ci
diff options
context:
space:
mode:
authorFrederic Barrat <fbarrat@linux.ibm.com>2021-11-03 10:40:15 +0100
committerCédric Le Goater <clg@kaod.org>2021-11-03 10:40:15 +0100
commit89156c0583b40167cc67fca835cbf2c4e3eb15d2 (patch)
tree5ee2129969f243c6d4041d10f234538caa3f0168 /opal-ci
parent24a7eb35966d93455520bc2debdd7954314b638b (diff)
downloadskiboot-89156c0583b40167cc67fca835cbf2c4e3eb15d2.zip
skiboot-89156c0583b40167cc67fca835cbf2c4e3eb15d2.tar.gz
skiboot-89156c0583b40167cc67fca835cbf2c4e3eb15d2.tar.bz2
CI: start using github actions
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'opal-ci')
-rw-r--r--opal-ci/Dockerfile-centos813
-rw-r--r--opal-ci/Dockerfile-fedora3410
-rwxr-xr-xopal-ci/build-centos8.sh28
-rwxr-xr-xopal-ci/build-fedora34.sh22
4 files changed, 73 insertions, 0 deletions
diff --git a/opal-ci/Dockerfile-centos8 b/opal-ci/Dockerfile-centos8
new file mode 100644
index 0000000..d289ff6
--- /dev/null
+++ b/opal-ci/Dockerfile-centos8
@@ -0,0 +1,13 @@
+FROM centos:8
+RUN yum -y update && yum clean all
+RUN yum -y install wget curl xterm gcc git xz make diffutils findutils expect valgrind valgrind-devel openssl-devel openssl
+
+RUN mkdir /opt/cross
+RUN if [ `arch` = "x86_64" ]; then wget https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.4.0/x86_64-gcc-8.4.0-nolibc-powerpc64-linux.tar.gz; tar -C /opt/cross -xf x86_64-gcc-8.4.0-nolibc-powerpc64-linux.tar.gz; fi
+RUN if [ `arch` = "ppc64le" ]; then wget https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/ppc64le/8.4.0/ppc64le-gcc-8.4.0-nolibc-powerpc64-linux.tar.gz; tar -C /opt/cross -xf ppc64le-gcc-8.4.0-nolibc-powerpc64-linux.tar.gz; fi
+
+RUN yum install -y flex bison
+RUN curl -L https://github.com/dgibson/dtc/archive/refs/tags/v1.6.1.tar.gz|tar xfz -
+RUN (cd dtc-1.6.1; make PREFIX=/usr/local install)
+COPY . /build/
+WORKDIR /build
diff --git a/opal-ci/Dockerfile-fedora34 b/opal-ci/Dockerfile-fedora34
new file mode 100644
index 0000000..5fc07ad
--- /dev/null
+++ b/opal-ci/Dockerfile-fedora34
@@ -0,0 +1,10 @@
+FROM fedora:34
+RUN dnf -y update
+RUN dnf -y install --allowerasing wget curl xterm gcc git xz make diffutils findutils expect valgrind valgrind-devel ccache dtc openssl openssl-devel gcc-powerpc64-linux-gnu mbedtls-devel
+# for building documentation and the coverage report
+RUN dnf -y install python-pip lcov
+# below packages are for building dtc
+RUN dnf -y install flex bison
+RUN if [ `arch` = "x86_64" ]; then dnf -y install http://public.dhe.ibm.com/software/server/powerfuncsim/p9/packages/v1.1-0/systemsim-p9-1.1-0.f22.x86_64.rpm; fi
+COPY . /build/
+WORKDIR /build
diff --git a/opal-ci/build-centos8.sh b/opal-ci/build-centos8.sh
new file mode 100755
index 0000000..b589e74
--- /dev/null
+++ b/opal-ci/build-centos8.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+set -uo pipefail
+set -e
+set -vx
+
+if [ $(arch) == "x86_64" ]; then
+ export CROSS=/opt/cross/gcc-8.4.0-nolibc/powerpc64-linux/bin/powerpc64-linux-
+fi
+if [ $(arch) == "ppc64le" ]; then
+ export CROSS=/opt/cross/gcc-8.4.0-nolibc/powerpc64-linux/bin/powerpc64-linux-
+fi
+
+MAKE_J=$(nproc)
+
+make -j${MAKE_J} all
+make -j${MAKE_J} check
+(make clean; cd external/gard && CROSS= make -j${MAKE_J})
+(cd external/pflash; make -j${MAKE_J})
+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
diff --git a/opal-ci/build-fedora34.sh b/opal-ci/build-fedora34.sh
new file mode 100755
index 0000000..7c607a1
--- /dev/null
+++ b/opal-ci/build-fedora34.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+set -uo pipefail
+set -e
+set -vx
+
+MAKE_J=$(nproc)
+export CROSS="ccache powerpc64-linux-gnu-"
+
+make -j${MAKE_J} all
+make -j${MAKE_J} check
+(make clean; cd external/gard && CROSS= make -j${MAKE_J})
+(cd external/pflash; make -j${MAKE_J})
+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