From d8048372807d9a4b7eeed38a8bfedb09a2a15d29 Mon Sep 17 00:00:00 2001 From: Matthias Klumpp Date: Sun, 7 Jan 2018 17:31:53 +0100 Subject: [PATCH 1/4] travis: Enforce Python version Workaround for https://github.com/travis-ci/travis-ci/issues/8363 - the matrix feature does not make sense here, so having this workaround is acceptable. --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index ffc66da..befe666 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,7 @@ d: - ldc-beta before_install: + - pyenv global system 3.6 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ninja python3; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pip3 install meson; fi From 1390d2e3654b408ad34e4c109b3427f266e685af Mon Sep 17 00:00:00 2001 From: Matthias Klumpp Date: Sun, 7 Jan 2018 17:41:40 +0100 Subject: [PATCH 2/4] trivial: Use newer Ninja --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index befe666..4c12dba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,7 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then pip3 install meson; fi install: - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mkdir .ntmp && curl -L https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip -o .ntmp/ninja-linux.zip; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mkdir .ntmp && curl -L https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip -o .ntmp/ninja-linux.zip; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then unzip .ntmp/ninja-linux.zip -d .ntmp; fi before_script: From 7132946282e718d09eb9ce726fa01cc7cce42f49 Mon Sep 17 00:00:00 2001 From: Matthias Klumpp Date: Sun, 7 Jan 2018 17:42:42 +0100 Subject: [PATCH 3/4] Add workaround for Meson subproject path regression This works around Meson issue https://github.com/mesonbuild/meson/issues/2719 by making the subprojects directory a toplevel dir. --- contrib/{subprojects => }/tinyendian.wrap | 0 meson.build | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename contrib/{subprojects => }/tinyendian.wrap (100%) diff --git a/contrib/subprojects/tinyendian.wrap b/contrib/tinyendian.wrap similarity index 100% rename from contrib/subprojects/tinyendian.wrap rename to contrib/tinyendian.wrap diff --git a/meson.build b/meson.build index 37a3692..9bb6173 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('D-YAML', 'd', meson_version: '>=0.40.0', - subproject_dir: 'contrib/subprojects' + subproject_dir: 'contrib' ) project_version = '0.6.2' From 09f3e9bd81789277942325fca287139bcb5f24e2 Mon Sep 17 00:00:00 2001 From: Matthias Klumpp Date: Sun, 7 Jan 2018 20:48:17 +0100 Subject: [PATCH 4/4] travis: Limit ninja jobs This is needed because Ninja sees too many CPUs in Travis' container, and therefore spawns a lot of jobs which leads Travis to occasionally kill a ninja process. Limiting the jobs protects against that behavior. --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4c12dba..ba3ec46 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,9 +27,9 @@ before_script: - export PATH=$PATH:$PWD/.ntmp script: - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then meson build && ninja -C build; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ninja -C build test -v; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then SDKROOT=$(xcodebuild -version -sdk macosx Path) meson build && ninja -C build test; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then meson build && ninja -j8 -C build; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ninja -j8 -C build test -v; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then SDKROOT=$(xcodebuild -version -sdk macosx Path) meson build && ninja -j8 -C build test; fi - dub build - dub test --build=unittest-cov after_success: