aboutsummaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorJohn Ericson <git@JohnEricson.me>2020-08-03 11:48:27 -0400
committerJohn Ericson <git@JohnEricson.me>2020-08-03 11:48:27 -0400
commiteaf6343c065842b9719793066e765b2e5f1c2f3b (patch)
tree1bfeac5297ba489721e704e63c28f33d0fb98990 /ci
parent87aa98c1787d800145853a8e84654e4c54ee1078 (diff)
parent70edf82c6c77902cd64f44848302bbac92d611d8 (diff)
downloadmeson-lang-enum.zip
meson-lang-enum.tar.gz
meson-lang-enum.tar.bz2
Merge remote-tracking branch 'upstream/master' into lang-enumlang-enum
Diffstat (limited to 'ci')
-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
-rw-r--r--ci/run.ps13
-rwxr-xr-xci/travis_install.sh4
-rwxr-xr-xci/travis_script.sh8
10 files changed, 95 insertions, 12 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
diff --git a/ci/run.ps1 b/ci/run.ps1
index 34856c0..5065b87 100644
--- a/ci/run.ps1
+++ b/ci/run.ps1
@@ -4,7 +4,8 @@ if ($LastExitCode -ne 0) {
}
# remove Chocolately, MinGW, Strawberry Perl from path, so we don't find gcc/gfortran and try to use it
-$env:Path = ($env:Path.Split(';') | Where-Object { $_ -notmatch 'mingw|Strawberry|Chocolatey' }) -join ';'
+# remove PostgreSQL from path so we don't pickup a broken zlib from it
+$env:Path = ($env:Path.Split(';') | Where-Object { $_ -notmatch 'mingw|Strawberry|Chocolatey|PostgreSQL' }) -join ';'
# Rust puts its shared stdlib in a secret place, but it is needed to run tests.
$env:Path += ";$HOME/.rustup/toolchains/stable-x86_64-pc-windows-msvc/bin"
diff --git a/ci/travis_install.sh b/ci/travis_install.sh
index 5d191f1..d9d308a 100755
--- a/ci/travis_install.sh
+++ b/ci/travis_install.sh
@@ -7,9 +7,11 @@ msg() { echo -e "\x1b[1;32mINFO: \x1b[37m$*\x1b[0m"; }
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
msg "Running OSX setup"
brew update
+ # Run one macOS build with pkg-config available (pulled in by qt), and the
+ # other (unity=on) without pkg-config
brew install qt ldc llvm ninja
if [[ "$MESON_ARGS" =~ .*unity=on.* ]]; then
- which pkg-config || brew install pkg-config
+ which pkg-config && rm -f $(which pkg-config)
fi
python3 -m pip install jsonschema
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
diff --git a/ci/travis_script.sh b/ci/travis_script.sh
index a91a5dd..bdfd4c2 100755
--- a/ci/travis_script.sh
+++ b/ci/travis_script.sh
@@ -23,6 +23,10 @@ export CXX=$CXX
export OBJC=$CC
export OBJCXX=$CXX
export PATH=/root/tools:$PATH
+if test "$MESON_RSP_THRESHOLD" != ""
+then
+ export MESON_RSP_THRESHOLD=$MESON_RSP_THRESHOLD
+fi
source /ci/env_vars.sh
cd /root
@@ -55,5 +59,9 @@ elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export OBJC=$CC
export OBJCXX=$CXX
export PATH=$HOME/tools:/usr/local/opt/qt/bin:$PATH:$(brew --prefix llvm)/bin
+ if test "$MESON_RSP_THRESHOLD" != ""
+ then
+ export MESON_RSP_THRESHOLD=$MESON_RSP_THRESHOLD
+ fi
./run_tests.py $RUN_TESTS_ARGS --backend=ninja -- $MESON_ARGS
fi