From 6b1454abe60cee99047ed9d02ebbf2a00b0d00eb Mon Sep 17 00:00:00 2001 From: Squareys Date: Wed, 18 Nov 2020 09:53:30 +0100 Subject: [PATCH 1/2] ci: Move emscripten to ubuntu docker builds Signed-off-by: Squareys --- package/ci/travis-emscripten.sh | 9 ++++++++- package/ci/travis.yml | 12 +++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/package/ci/travis-emscripten.sh b/package/ci/travis-emscripten.sh index 135d65ba8..0bfc7528d 100755 --- a/package/ci/travis-emscripten.sh +++ b/package/ci/travis-emscripten.sh @@ -1,12 +1,19 @@ #!/bin/bash set -ev +# Get ninja-build +wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip +unzip ninja-linux.zip +mv ninja /usr/local/bin/ +ninja --version + git submodule update --init # Build native corrade-rc mkdir build && cd build || exit /b cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_MAKE_PROGRAM=ninja \ -DCMAKE_INSTALL_PREFIX=$HOME/deps-native \ -DWITH_INTERCONNECT=OFF \ -DWITH_PLUGINMANAGER=OFF \ @@ -19,9 +26,9 @@ cd .. # Crosscompile mkdir build-emscripten && cd build-emscripten cmake .. \ + -DCMAKE_MAKE_PROGRAM=ninja \ -DCORRADE_RC_EXECUTABLE=$HOME/deps-native/bin/corrade-rc \ -DCMAKE_TOOLCHAIN_FILE="../toolchains/generic/Emscripten-wasm.cmake" \ - -DEMSCRIPTEN_PREFIX=$(echo /usr/local/Cellar/emscripten/*/libexec) \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG -O1" \ -DCMAKE_INSTALL_PREFIX=$HOME/deps \ diff --git a/package/ci/travis.yml b/package/ci/travis.yml index 9feee69d5..ae9e69ad2 100644 --- a/package/ci/travis.yml +++ b/package/ci/travis.yml @@ -98,13 +98,19 @@ matrix: env: - JOBID=ios - TARGET=ios-simulator - - language: cpp - os: osx + - language: generic + os: ubuntu + services: + - docker # Using whatever is the default, since that could be hopefully most # up-to-date env: - JOBID=emscripten - TARGET=emscripten + - EMSCRIPTEN_VERSION=2.0.7 + before_install: + - docker pull emscripten/emsdk:${EMSCRIPTEN_VERSION} + - docker ps -a - language: android os: linux # Setting xenial here will cause it to use 12.04, with GCC 4.6 and other @@ -179,7 +185,7 @@ script: - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$TARGET" == "android" ]; then ./package/ci/travis-android-arm.sh; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then ./package/ci/travis-desktop.sh; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then ./package/ci/travis-ios-simulator.sh; fi -- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "emscripten" ]; then ./package/ci/travis-emscripten.sh; fi +- if [ "$TARGET" == "emscripten" ]; then docker run -v $TRAVIS_BUILD_DIR:/github -w /github -t emscripten/emsdk:${EMSCRIPTEN_VERSION} /bin/bash -c ./package/ci/travis-emscripten.sh; fi # Travis somehow is not able to gather all output, try to force it using this - sync From 9654456099ab695ee5dee6259cc12e425ea8c350 Mon Sep 17 00:00:00 2001 From: Squareys Date: Wed, 18 Nov 2020 10:50:48 +0100 Subject: [PATCH 2/2] ci: Travis only provides 2 cores. --- package/ci/travis-emscripten.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/ci/travis-emscripten.sh b/package/ci/travis-emscripten.sh index 0bfc7528d..8e8542132 100755 --- a/package/ci/travis-emscripten.sh +++ b/package/ci/travis-emscripten.sh @@ -35,7 +35,7 @@ cmake .. \ -DCMAKE_EXE_LINKER_FLAGS_RELEASE="-O1" \ -DBUILD_TESTS=ON \ -G Ninja -ninja -j4 +ninja -j2 # Test CORRADE_TEST_COLOR=ON ctest -V