1sudo: true 2language: generic 3dist: trusty 4group: travis_latest 5 6env: 7 global: 8 - DOCKER_BASE_TAG=3.7-ubuntu-18.04 9 - DOCKER_BASE_IMAGE=zerocci/ice-base:${DOCKER_BASE_TAG} 10 - DOCKER_BUILD_IMAGE=zerocci/ice-travis-build:${TRAVIS_BUILD_NUMBER} 11 - DOCKER_BUILD_CPP11_IMAGE=zerocci/ice-travis-build:${TRAVIS_BUILD_NUMBER}-cpp11 12 - MAKEFLAGS="-j3 V=1 OPTIMIZE=no USE_NAMESPACES=no CONFIGS=shared" 13 - DOCKER_RUN="docker run -it --rm ${DOCKER_BUILD_IMAGE} /bin/bash -c" 14 - DOCKER_RUN_CPP11="docker run -it --rm ${DOCKER_BUILD_IMAGE}-cpp11 /bin/bash -c" 15 - ALLTESTS="python allTests.py --protocol=ssl --workers=4" 16 17jobs: 18 include: 19 - stage: Build 20 script: 21 - docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" 22 - | 23 echo "FROM ${DOCKER_BASE_IMAGE}" >> Dockerfile 24 echo "RUN make ${MAKEFLAGS}" >> Dockerfile 25 - docker build --cache-from ${DOCKER_BASE_IMAGE} -t ${DOCKER_BUILD_IMAGE} . 26 - docker push ${DOCKER_BUILD_IMAGE} 27 28 # - stage: Build C++11 29 # script: 30 # - docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" 31 # - | 32 # echo "FROM ${DOCKER_BUILD_IMAGE}" >> Dockerfile 33 # echo "RUN make -C cpp ${MAKEFLAGS} CONFIGS='cpp11-shared'" >> Dockerfile 34 # - docker build --cache-from ${DOCKER_BUILD_IMAGE} -t ${DOCKER_BUILD_CPP11_IMAGE} . 35 # - docker push ${DOCKER_BUILD_CPP11_IMAGE} 36 37 - &test-staging 38 stage: Test 39 script: $DOCKER_RUN "${ALLTESTS} --language=cpp" 40 env: comment=C++ 41 # - <<: *test-staging 42 # script: $DOCKER_RUN_CPP11 "${ALLTESTS} --language=cpp --config=cpp11-shared" 43 # env: comment=C++11 44 - <<: *test-staging 45 script: $DOCKER_RUN "${ALLTESTS} --language=csharp" 46 env: comment=C# 47 - <<: *test-staging 48 script: $DOCKER_RUN "${ALLTESTS} --language=java" 49 env: comment=Java 50 - <<: *test-staging 51 script: $DOCKER_RUN "${ALLTESTS} --language=java-compat" 52 env: comment=Java Compat 53 - <<: *test-staging 54 script: $DOCKER_RUN "${ALLTESTS} --language=js" 55 env: comment=JavaScript 56 - <<: *test-staging 57 script: $DOCKER_RUN "${ALLTESTS} --language=php" 58 env: comment=PHP 59 - <<: *test-staging 60 script: $DOCKER_RUN "${ALLTESTS} --language=python" 61 env: comment=Python 62 - <<: *test-staging 63 script: $DOCKER_RUN "${ALLTESTS} --language=ruby" 64 env: comment=Ruby 65 66notifications: 67 email: travis-ci@zeroc.com 68 slack: 69 secure: TywLzzH1Hx3Pb5I4s4wxbEZ9nOAPkamZDqHBOkpLSNSRa2iSk6n5GcQi5bnw0Ct59oTEytO/8fNP6mYwf5G2rrXGWpcdgSdyLMcUk6ASeO7ANv7xLKhVWbbOoVuZxFJvIG5mTYpCa3R58EtchQErzdyf3rRMN3rq/ZBmocFMcRY= 70