diff options
author | Joe George <joe@zeroc.com> | 2018-02-19 10:54:54 -0500 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2018-02-19 10:54:54 -0500 |
commit | 300de694e2d5ab1d5c8e6928e21ebf20e762a0bc (patch) | |
tree | 9f43d597be9b57f763f102f80d1c9d3312b636c1 | |
parent | Fixed iOS controller crashes (diff) | |
download | ice-300de694e2d5ab1d5c8e6928e21ebf20e762a0bc.tar.bz2 ice-300de694e2d5ab1d5c8e6928e21ebf20e762a0bc.tar.xz ice-300de694e2d5ab1d5c8e6928e21ebf20e762a0bc.zip |
Build C++11 image in second build stage on Travis
-rw-r--r-- | .travis.yml | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/.travis.yml b/.travis.yml index 3a23163f314..609e4c9fe38 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,13 +8,15 @@ env: - DOCKER_BASE_TAG=3.7-ubuntu-16.04 - DOCKER_BASE_IMAGE=zerocci/ice-base:${DOCKER_BASE_TAG} - DOCKER_BUILD_IMAGE=zerocci/ice-travis-build:${TRAVIS_BUILD_NUMBER} + - DOCKER_BUILD_CPP11_IMAGE=zerocci/ice-travis-build:${TRAVIS_BUILD_NUMBER}-cpp11 - MAKEFLAGS="-j3 V=1 OPTIMIZE=no USER_NAMESPACES=no CONFIGS=shared" - DOCKER_RUN="docker run -it --rm ${DOCKER_BUILD_IMAGE} /bin/bash -c" + - DOCKER_RUN_CPP11="docker run -it --rm ${DOCKER_BUILD_IMAGE}-cpp11 /bin/bash -c" - ALLTESTS="python allTests.py --protocol=ssl --workers=4" jobs: include: - - stage: build docker image + - stage: Build script: # see https://github.com/travis-ci/travis-ci/issues/8920 - python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" @@ -25,37 +27,47 @@ jobs: - docker build --cache-from ${DOCKER_BASE_IMAGE} -t ${DOCKER_BUILD_IMAGE} . - docker push ${DOCKER_BUILD_IMAGE} + - stage: Build C++11 + script: + # see https://github.com/travis-ci/travis-ci/issues/8920 + - python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" + - docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" + - | + echo "FROM ${DOCKER_BUILD_IMAGE}" >> Dockerfile + echo "RUN make -C cpp ${MAKEFLAGS} CONFIGS='cpp11-shared'" >> Dockerfile + - docker build --cache-from ${DOCKER_BUILD_IMAGE} -t ${DOCKER_BUILD_CPP11_IMAGE} . + - docker push ${DOCKER_BUILD_CPP11_IMAGE} + - &test-staging - stage: test staging + stage: Test before_script: # see https://github.com/travis-ci/travis-ci/issues/8920 - python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" - - docker pull ${DOCKER_BUILD_IMAGE} - script: $DOCKER_RUN "${ALLTESTS} --filter=cpp" + script: $DOCKER_RUN "${ALLTESTS} --language=cpp" env: comment=C++ - <<: *test-staging - script: $DOCKER_RUN "cd cpp; make ${MAKEFLAGS} CONFIGS='shared cpp11-shared'; ${ALLTESTS}" + script: $DOCKER_RUN_CPP11 "${ALLTESTS} --language=cpp --config=cpp11-shared" env: comment=C++11 - <<: *test-staging - script: $DOCKER_RUN "${ALLTESTS} --filter=csharp" + script: $DOCKER_RUN "${ALLTESTS} --language=csharp" env: comment=C# - <<: *test-staging - script: $DOCKER_RUN "${ALLTESTS} --filter=java" + script: $DOCKER_RUN "${ALLTESTS} --language=java" env: comment=Java - <<: *test-staging - script: $DOCKER_RUN "${ALLTESTS} --filter=java-compat" + script: $DOCKER_RUN "${ALLTESTS} --language=java-compat" env: comment=Java Compat - <<: *test-staging - script: $DOCKER_RUN "${ALLTESTS} --filter=js" + script: $DOCKER_RUN "${ALLTESTS} --language=js" env: comment=JavaScript - <<: *test-staging - script: $DOCKER_RUN "${ALLTESTS} --filter=php" + script: $DOCKER_RUN "${ALLTESTS} --language=php" env: comment=PHP - <<: *test-staging - script: $DOCKER_RUN "${ALLTESTS} --filter=python" + script: $DOCKER_RUN "${ALLTESTS} --language=python" env: comment=Python - <<: *test-staging - script: $DOCKER_RUN "${ALLTESTS} --filter=ruby" + script: $DOCKER_RUN "${ALLTESTS} --language=ruby" env: comment=Ruby notifications: |