diff options
author | John Ericson <git@JohnEricson.me> | 2020-08-03 11:48:27 -0400 |
---|---|---|
committer | John Ericson <git@JohnEricson.me> | 2020-08-03 11:48:27 -0400 |
commit | eaf6343c065842b9719793066e765b2e5f1c2f3b (patch) | |
tree | 1bfeac5297ba489721e704e63c28f33d0fb98990 /ci | |
parent | 87aa98c1787d800145853a8e84654e4c54ee1078 (diff) | |
parent | 70edf82c6c77902cd64f44848302bbac92d611d8 (diff) | |
download | meson-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-x | ci/ciimage/arch/install.sh | 4 | ||||
-rw-r--r-- | ci/ciimage/bionic/image.json | 8 | ||||
-rwxr-xr-x | ci/ciimage/bionic/install.sh | 59 | ||||
-rwxr-xr-x | ci/ciimage/build.py | 5 | ||||
-rwxr-xr-x | ci/ciimage/eoan/install.sh | 4 | ||||
-rwxr-xr-x | ci/ciimage/fedora/install.sh | 4 | ||||
-rwxr-xr-x | ci/ciimage/opensuse/install.sh | 8 | ||||
-rw-r--r-- | ci/run.ps1 | 3 | ||||
-rwxr-xr-x | ci/travis_install.sh | 4 | ||||
-rwxr-xr-x | ci/travis_script.sh | 8 |
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 @@ -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 |