aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/images.yml1
-rw-r--r--.github/workflows/os_comp.yml1
-rw-r--r--ci/ciimage/bionic/image.json8
-rwxr-xr-xci/ciimage/bionic/install.sh58
-rwxr-xr-xci/ciimage/build.py5
5 files changed, 72 insertions, 1 deletions
diff --git a/.github/workflows/images.yml b/.github/workflows/images.yml
index bde2223..0cf9156 100644
--- a/.github/workflows/images.yml
+++ b/.github/workflows/images.yml
@@ -31,6 +31,7 @@ jobs:
- { name: CUDA (on Arch), id: cuda }
- { name: Fedora, id: fedora }
- { name: OpenSUSE, id: opensuse }
+ - { name: Ubuntu Bionic, id: bionic }
- { name: Ubuntu Eoan, id: eoan }
steps:
- uses: actions/checkout@v2
diff --git a/.github/workflows/os_comp.yml b/.github/workflows/os_comp.yml
index 7f3437e..4a6d7cd 100644
--- a/.github/workflows/os_comp.yml
+++ b/.github/workflows/os_comp.yml
@@ -39,6 +39,7 @@ jobs:
- { name: CUDA (on Arch), id: cuda }
- { name: Fedora, id: fedora }
- { name: OpenSUSE, id: opensuse }
+ - { name: Ubuntu Bionic, id: bionic }
container: mesonbuild/${{ matrix.cfg.id }}:latest
steps:
- uses: actions/checkout@v1
diff --git a/ci/ciimage/bionic/image.json b/ci/ciimage/bionic/image.json
new file mode 100644
index 0000000..6a3d723
--- /dev/null
+++ b/ci/ciimage/bionic/image.json
@@ -0,0 +1,8 @@
+{
+ "base_image": "ubuntu:bionic",
+ "env": {
+ "CI": "1",
+ "SKIP_SCIENTIFIC": "1",
+ "DC": "gdc"
+ }
+}
diff --git a/ci/ciimage/bionic/install.sh b/ci/ciimage/bionic/install.sh
new file mode 100755
index 0000000..47deb2a
--- /dev/null
+++ b/ci/ciimage/bionic/install.sh
@@ -0,0 +1,58 @@
+#!/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 cmake doxygen
+ clang
+ pkg-config-arm-linux-gnueabihf
+ qt4-linguist-tools qt5-default qtbase5-private-dev
+ python-dev
+ libomp-dev
+ ldc
+ libclang-dev
+ libgcrypt20-dev
+ libgpgme-dev
+ libhdf5-dev openssh-server
+ libboost-python-dev libboost-regex-dev
+ libblocksruntime-dev
+ libperl-dev libscalapack-mpi-dev libncurses-dev
+)
+
+boost_pkgs=(atomic chrono date-time filesystem log regex serialization system test thread)
+
+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
+
+# Add boost packages
+for i in "${boost_pkgs[@]}"; do
+ for j in "1.62.0" "1.65.1"; do
+ pkgs+=("libboost-${i}${j}")
+ done
+done
+
+# packages
+eatmydata apt-get -y install "${pkgs[@]}"
+
+eatmydata python3 -m pip install codecov jsonschema
+
+# Install the ninja 0.10
+wget https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-linux.zip
+unzip ninja-linux.zip -d /ci
+
+# cleanup
+apt-get -y remove ninja-build
+apt-get -y clean
+apt-get -y autoclean
+rm ninja-linux.zip
diff --git a/ci/ciimage/build.py b/ci/ciimage/build.py
index 34a92fa..e623a7e 100755
--- a/ci/ciimage/build.py
+++ b/ci/ciimage/build.py
@@ -71,6 +71,9 @@ class Builder(BuilderBase):
for key, val in self.image_def.env.items():
out_data += f'export {key}="{val}"\n'
+ # Also add /ci to PATH
+ out_data += 'export PATH="/ci:$PATH"\n'
+
out_file.write_text(out_data)
# make it executable
@@ -157,7 +160,7 @@ class ImageTester(BuilderBase):
test_cmd = [
self.docker, 'run', '--rm', '-t', 'meson_test_image',
- '/usr/bin/bash', '-c', 'source /ci/env_vars.sh; cd meson; ./run_tests.py $CI_ARGS'
+ '/bin/bash', '-c', 'source /ci/env_vars.sh; cd meson; ./run_tests.py $CI_ARGS'
]
if subprocess.run(test_cmd).returncode != 0:
raise RuntimeError('Running tests failed')