aboutsummaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2020-03-24 19:35:25 +0100
committerDaniel Mensinger <daniel@mensinger-ka.de>2020-04-02 09:47:06 +0200
commitaa3cb4a9bb88c13a07d1518973a4d47eba2e47ed (patch)
treea376b860c3a340335f490bbbc5529b65676fc010 /ci
parent6801beee6bb8292f95e6014bdbc1dcdfe871e8ec (diff)
downloadmeson-aa3cb4a9bb88c13a07d1518973a4d47eba2e47ed.zip
meson-aa3cb4a9bb88c13a07d1518973a4d47eba2e47ed.tar.gz
meson-aa3cb4a9bb88c13a07d1518973a4d47eba2e47ed.tar.bz2
ci: Use the new CI image builder for eoan
Diffstat (limited to 'ci')
-rw-r--r--ci/ciimage/eoan/Dockerfile36
-rw-r--r--ci/ciimage/eoan/image.json7
-rwxr-xr-xci/ciimage/eoan/install.sh53
3 files changed, 60 insertions, 36 deletions
diff --git a/ci/ciimage/eoan/Dockerfile b/ci/ciimage/eoan/Dockerfile
deleted file mode 100644
index dcc8549..0000000
--- a/ci/ciimage/eoan/Dockerfile
+++ /dev/null
@@ -1,36 +0,0 @@
-FROM ubuntu:eoan
-
-ENV DEBIAN_FRONTEND noninteractive
-ENV LANG='C.UTF-8'
-ENV DC=gdc
-
-RUN sed -i '/^#\sdeb-src /s/^#//' "/etc/apt/sources.list" \
-&& apt-get -y update && apt-get -y upgrade \
-&& apt-get -y install eatmydata \
-&& eatmydata apt-get -y build-dep meson \
-&& eatmydata apt-get -y install python3-pytest-xdist \
-&& eatmydata apt-get -y install python3-pip libxml2-dev libxslt1-dev libyaml-dev libjson-glib-dev \
-&& eatmydata python3 -m pip install hotdoc codecov \
-&& eatmydata apt-get -y install wget unzip \
-&& eatmydata apt-get -y install qt5-default clang \
-&& eatmydata apt-get -y install pkg-config-arm-linux-gnueabihf \
-&& eatmydata apt-get -y install qt4-linguist-tools \
-&& eatmydata apt-get -y install python-dev \
-&& eatmydata apt-get -y install libomp-dev \
-&& eatmydata apt-get -y install dub ldc \
-&& eatmydata apt-get -y install mingw-w64 mingw-w64-tools nim \
-&& eatmydata apt-get -y install --no-install-recommends wine-stable \
-&& eatmydata apt-get -y install libclang-dev \
-&& eatmydata apt-get -y install libgcrypt20-dev \
-&& eatmydata apt-get -y install libgpgme-dev \
-&& eatmydata apt-get -y install libhdf5-dev \
-&& eatmydata apt-get -y install libboost-python-dev libboost-regex-dev \
-&& eatmydata apt-get -y install libblocksruntime-dev \
-&& eatmydata apt-get -y install libperl-dev \
-&& eatmydata apt-get -y install liblapack-dev libscalapack-mpi-dev \
-&& eatmydata dub fetch urld && dub build urld --compiler=gdc \
-&& eatmydata dub fetch dubtestproject \
-&& eatmydata dub build dubtestproject:test1 --compiler=ldc2 \
-&& eatmydata dub build dubtestproject:test2 --compiler=ldc2
-# OpenSSH client is needed to run openmpi binaries.
-
diff --git a/ci/ciimage/eoan/image.json b/ci/ciimage/eoan/image.json
new file mode 100644
index 0000000..cbf86c3
--- /dev/null
+++ b/ci/ciimage/eoan/image.json
@@ -0,0 +1,7 @@
+{
+ "base_image": "ubuntu:eoan",
+ "env": {
+ "CI": "1",
+ "DC": "gdc"
+ }
+}
diff --git a/ci/ciimage/eoan/install.sh b/ci/ciimage/eoan/install.sh
new file mode 100755
index 0000000..7bbc6e6
--- /dev/null
+++ b/ci/ciimage/eoan/install.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+set -e
+
+export DEBIAN_FRONTEND=noninteractive
+export LANG='C.UTF-8'
+export DC=gdc
+
+pkgs=(
+ python3-pytest-xdist
+ python3-pip libxml2-dev libxslt1-dev libyaml-dev libjson-glib-dev
+ wget unzip
+ qt5-default clang
+ pkg-config-arm-linux-gnueabihf
+ qt4-linguist-tools
+ python-dev
+ libomp-dev
+ dub ldc
+ mingw-w64 mingw-w64-tools nim
+ libclang-dev
+ libgcrypt20-dev
+ libgpgme-dev
+ libhdf5-dev
+ libboost-python-dev libboost-regex-dev
+ libblocksruntime-dev
+ libperl-dev
+ liblapack-dev libscalapack-mpi-dev
+)
+
+sed -i '/^#\sdeb-src /s/^#//' "/etc/apt/sources.list"
+apt-get -y update
+apt-get -y upgrade
+apt-get -y install eatmydata
+
+# Base stuff
+eatmydata apt-get -y build-dep meson
+
+# packages
+eatmydata apt-get -y install "${pkgs[@]}"
+eatmydata apt-get -y install --no-install-recommends wine-stable # Wine is special
+
+eatmydata python3 -m pip install hotdoc codecov jsonschema
+
+# dub stuff
+dub fetch urld
+dub build urld --compiler=gdc
+dub fetch dubtestproject
+dub build dubtestproject:test1 --compiler=ldc2
+dub build dubtestproject:test2 --compiler=ldc2
+
+# cleanup
+apt-get -y clean
+apt-get -y autoclean