aboutsummaryrefslogtreecommitdiff
path: root/ci/ciimage
diff options
context:
space:
mode:
Diffstat (limited to 'ci/ciimage')
-rwxr-xr-xci/ciimage/arch/install.sh4
-rw-r--r--ci/ciimage/bionic/image.json8
-rwxr-xr-xci/ciimage/bionic/install.sh59
-rwxr-xr-xci/ciimage/build.py5
-rwxr-xr-xci/ciimage/eoan/install.sh4
-rwxr-xr-xci/ciimage/fedora/install.sh4
-rwxr-xr-xci/ciimage/opensuse/install.sh8
7 files changed, 82 insertions, 10 deletions
diff --git a/ci/ciimage/arch/install.sh b/ci/ciimage/arch/install.sh
index 7fe139e..fb27c26 100755
--- a/ci/ciimage/arch/install.sh
+++ b/ci/ciimage/arch/install.sh
@@ -12,12 +12,12 @@ pkgs=(
itstool gtk3 java-environment=8 gtk-doc llvm clang sdl2 graphviz
doxygen vulkan-validation-layers openssh mercurial gtk-sharp-2 qt5-tools
libwmf valgrind cmake netcdf-fortran openmpi nasm gnustep-base gettext
- python-jsonschema
+ python-jsonschema python-lxml
# cuda
)
aur_pkgs=(scalapack)
-pip_pkgs=(hotdoc)
+pip_pkgs=(hotdoc gcovr)
cleanup_pkgs=(go)
AUR_USER=docker
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..0bfcdfb
--- /dev/null
+++ b/ci/ciimage/bionic/install.sh
@@ -0,0 +1,59 @@
+#!/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
+ llvm lcov
+ 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 gcovr 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')
diff --git a/ci/ciimage/eoan/install.sh b/ci/ciimage/eoan/install.sh
index 4b3b746..36dec72 100755
--- a/ci/ciimage/eoan/install.sh
+++ b/ci/ciimage/eoan/install.sh
@@ -11,12 +11,14 @@ export DC=gdc
pkgs=(
python3-pytest-xdist
python3-pip libxml2-dev libxslt1-dev libyaml-dev libjson-glib-dev
+ python3-lxml
wget unzip
qt5-default clang
pkg-config-arm-linux-gnueabihf
qt4-linguist-tools
python-dev
libomp-dev
+ llvm lcov
dub ldc
mingw-w64 mingw-w64-tools nim
libclang-dev
@@ -41,7 +43,7 @@ eatmydata apt-get -y build-dep meson
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
+eatmydata python3 -m pip install hotdoc codecov gcovr jsonschema
# dub stuff
dub_fetch urld
diff --git a/ci/ciimage/fedora/install.sh b/ci/ciimage/fedora/install.sh
index 242d677..3beb11c 100755
--- a/ci/ciimage/fedora/install.sh
+++ b/ci/ciimage/fedora/install.sh
@@ -13,7 +13,7 @@ pkgs=(
doxygen vulkan-devel vulkan-validation-layers-devel openssh mercurial gtk-sharp2-devel libpcap-devel gpgme-devel
qt5-qtbase-devel qt5-qttools-devel qt5-linguist qt5-qtbase-private-devel
libwmf-devel valgrind cmake openmpi-devel nasm gnustep-base-devel gettext-devel ncurses-devel
- libxml2-devel libxslt-devel libyaml-devel glib2-devel json-glib-devel
+ libxml2-devel libxslt-devel libyaml-devel glib2-devel json-glib-devel python3-lxml
)
# Sys update
@@ -21,7 +21,7 @@ dnf -y upgrade
# Install deps
dnf -y install "${pkgs[@]}"
-python3 -m pip install hotdoc gobject PyGObject
+python3 -m pip install hotdoc gcovr gobject PyGObject
# Cleanup
dnf -y clean all
diff --git a/ci/ciimage/opensuse/install.sh b/ci/ciimage/opensuse/install.sh
index c5dd6df..4c8e770 100755
--- a/ci/ciimage/opensuse/install.sh
+++ b/ci/ciimage/opensuse/install.sh
@@ -5,9 +5,9 @@ set -e
source /ci/common.sh
pkgs=(
- python3-setuptools python3-wheel python3-pip python3-pytest-xdist python3
+ python3-setuptools python3-wheel python3-pip python3-pytest-xdist python3 python3-lxml
ninja make git autoconf automake patch python3-Cython python3-jsonschema
- elfutils gcc gcc-c++ gcc-fortran gcc-objc gcc-obj-c++ vala rust bison flex curl
+ elfutils gcc gcc-c++ gcc-fortran gcc-objc gcc-obj-c++ vala rust bison flex curl lcov
mono-core gtkmm3-devel gtest gmock protobuf-devel wxGTK3-3_2-devel gobject-introspection-devel
itstool gtk3-devel java-15-openjdk-devel gtk-doc llvm-devel clang-devel libSDL2-devel graphviz-devel zlib-devel zlib-devel-static
#hdf5-devel netcdf-devel libscalapack2-openmpi3-devel libscalapack2-gnu-openmpi3-hpc-devel openmpi3-devel
@@ -17,7 +17,7 @@ pkgs=(
libxml2-devel libxslt-devel libyaml-devel glib2-devel json-glib-devel
boost-devel libboost_date_time-devel libboost_filesystem-devel libboost_locale-devel libboost_system-devel
libboost_test-devel libboost_log-devel libboost_regex-devel
- libboost_python-devel libboost_python-py3-1_71_0-devel libboost_regex-devel
+ libboost_python3-devel libboost_regex-devel
)
# Sys update
@@ -26,7 +26,7 @@ zypper --non-interactive update
# Install deps
zypper install -y "${pkgs[@]}"
-python3 -m pip install hotdoc gobject PyGObject
+python3 -m pip install hotdoc gcovr gobject PyGObject
echo 'export PKG_CONFIG_PATH="/usr/lib64/mpi/gcc/openmpi3/lib64/pkgconfig:$PKG_CONFIG_PATH"' >> /ci/env_vars.sh