diff options
Diffstat (limited to 'src/jaegertracing/thrift/.travis.yml')
-rw-r--r-- | src/jaegertracing/thrift/.travis.yml | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/.travis.yml b/src/jaegertracing/thrift/.travis.yml new file mode 100644 index 000000000..400cfa146 --- /dev/null +++ b/src/jaegertracing/thrift/.travis.yml @@ -0,0 +1,179 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# build Apache Thrift on Travis CI - https://travis-ci.org/ + +# +# Docker Integration +# see: build/docker/README.md +# + +sudo: required +dist: trusty +language: cpp + +services: + - docker + +install: + - if [[ `uname` == "Linux" ]]; then build/docker/refresh.sh; fi + +stages: + - docker # docker images + - thrift # thrift build jobs + +env: + global: + - SCRIPT="cmake.sh" + - BUILD_ARG="" + - BUILD_ENV="-e CC=gcc -e CXX=g++ -e THRIFT_CROSSTEST_CONCURRENCY=4" + - DISTRO=ubuntu-bionic + - BUILD_LIBS="CPP C_GLIB HASKELL JAVA PYTHON TESTING TUTORIALS" # only meaningful for CMake builds + - TRAVIS_BUILD_STAGE=test + # DOCKER_REPO (this works for all builds as a source for docker images - you can override for fork builds in your Travis settings) + - DOCKER_REPO="thrift/thrift-build" + # DOCKER_USER (provide in your Travis settings if you want to build and update docker images once, instead of on every job) + # DOCKER_PASS (same) + +jobs: + include: + # ========================= stage: docker ========================= + - stage: docker + script: true + env: + - JOB="Docker Build ubuntu-xenial 16.04 LTS" + - DISTRO=ubuntu-xenial + - TRAVIS_BUILD_STAGE=docker + - script: true + env: + - JOB="Docker Build ubuntu-bionic 18.04 LTS" + - DISTRO=ubuntu-bionic + - TRAVIS_BUILD_STAGE=docker + + # ========================= stage: thrift ======================= + # ------------------------- phase: cross ------------------------ + - stage: thrift + script: build/docker/run.sh + env: + - JOB="Cross Language Tests (Binary Protocol)" + - SCRIPT="cross-test.sh" + - BUILD_ARG="-'(binary)'" + + - stage: thrift + script: build/docker/run.sh + env: + - JOB="Cross Language Tests (Header, JSON Protocols)" + - SCRIPT="cross-test.sh" + - BUILD_ARG="-'(header|json)'" + + - stage: thrift + script: build/docker/run.sh + env: + - JOB="Cross Language Tests (Compact and Multiplexed Protocols)" + - SCRIPT="cross-test.sh" + - BUILD_ARG="-'(compact|multiplexed)'" + + # ------------------------- phase: sca -------------------------- + # QA jobs for code analytics and metrics + - stage: thrift + script: build/docker/run.sh + env: + - JOB="Static Code Analysis" + - SCRIPT="sca.sh" + + # C and C++ undefined behavior. + # A binary crashes if undefined behavior occurs and produces a stack trace. + # python is disabled, see: THRIFT-4360 + - script: build/docker/run.sh + env: + - JOB="UBSan" + - SCRIPT="ubsan.sh" + - BUILD_ARG="--without-python --without-py3" + + # ------------------------- phase: autotools -------------------- + # TODO: Remove them once migrated to CMake + - script: build/docker/run.sh + env: + - JOB="Autotools (Ubuntu Bionic)" + - SCRIPT="autotools.sh" + + - script: build/docker/run.sh + env: + - JOB="Autotools (Ubuntu Xenial)" + - DISTRO=ubuntu-xenial + - SCRIPT="autotools.sh" + + # ------------------------- phase: cmake ------------------------ + - script: build/docker/run.sh + env: + - JOB="CMake" + - BUILD_ARG="-DCMAKE_BUILD_TYPE=Debug" + + - script: build/docker/run.sh + env: + - JOB="CMake" + - BUILD_ARG="-DCMAKE_BUILD_TYPE=Release" + + # ------------------------- phase: dist ------------------------- + - script: build/docker/run.sh + env: + - JOB="make dist" + - SCRIPT="make-dist.sh" + + - script: build/docker/run.sh + env: + - JOB="Debian Packages" + - SCRIPT="dpkg.sh" + + # ------------------------- phase: coverity --------------------- + # We build the coverity scan build once monthly using a travis cron job + - if: (env(COVERITY_SCAN_NOTIFICATION_EMAIL) IS present) AND (branch IN (master)) AND (type IN (cron)) + script: build/docker/run.sh + env: + - JOB="Coverity Scan" + - SCRIPT="covscan.sh" + + # ------------------------- phase: swift ------------------------ + # We lint the podspec + - os: osx + osx_image: xcode10.1 + language: swift + script: + - gem update cocoapods + - pod lib lint --allow-warnings --swift-version=3 + env: + - JOB="pod lib lint" + + - os: osx + osx_image: xcode10.2 + language: swift + script: + - gem update cocoapods + - pod lib lint --allow-warnings --swift-version=4.0 + - pod lib lint --allow-warnings --swift-version=4.2 + - pod lib lint --allow-warnings --swift-version=5.0 + env: + - JOB="pod lib lint" + + ### ------------------------- phase: osx -------------------------- + # disabled due to the time delays it imposes on build jobs + # - os: osx + # osx_image: xcode9 + # script: build/docker/scripts/autotools.sh + |