summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2018-02-19 10:54:54 -0500
committerJoe George <joe@zeroc.com>2018-02-19 10:54:54 -0500
commit300de694e2d5ab1d5c8e6928e21ebf20e762a0bc (patch)
tree9f43d597be9b57f763f102f80d1c9d3312b636c1
parentFixed iOS controller crashes (diff)
downloadice-300de694e2d5ab1d5c8e6928e21ebf20e762a0bc.tar.bz2
ice-300de694e2d5ab1d5c8e6928e21ebf20e762a0bc.tar.xz
ice-300de694e2d5ab1d5c8e6928e21ebf20e762a0bc.zip
Build C++11 image in second build stage on Travis
-rw-r--r--.travis.yml36
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: