X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=.travis.yml;h=d46e2be6f75457d9cc4efd61ab542ece0d06db16;hb=a4d208018c369e422ee48cd7fb1b4b57787e2618;hp=499e9eeb91a02eeec40fd506402d55412adac3a6;hpb=bd2125031ba9f3e0b78bf434b60f9488b012bba0;p=thirdparty%2Fsystemd.git diff --git a/.travis.yml b/.travis.yml index 499e9eeb91a..d46e2be6f75 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ sudo: required +dist: xenial services: - docker @@ -10,6 +11,15 @@ env: - REPO_ROOT="$TRAVIS_BUILD_DIR" stages: + - name: Build & test + if: type != cron + + - name: Fuzzit-Fuzzing + if: type = cron + + - name: Fuzzit-Sanity + if: type != cron + # Run Coverity periodically instead of for each commit/PR - name: Coverity if: type = cron @@ -17,24 +27,94 @@ stages: jobs: include: - stage: Build & test - name: Fedora Rawhide + name: Debian Testing language: bash env: - - FEDORA_RELEASE="rawhide" - - CONT_NAME="systemd-fedora-$FEDORA_RELEASE" + - DEBIAN_RELEASE="testing" + - CONT_NAME="systemd-debian-$DEBIAN_RELEASE" - DOCKER_EXEC="docker exec -ti $CONT_NAME" before_install: - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce - docker --version install: - - $CI_MANAGERS/fedora.sh SETUP + - $CI_MANAGERS/debian.sh SETUP script: - set -e # Build systemd - - $CI_MANAGERS/fedora.sh RUN + - $CI_MANAGERS/debian.sh RUN - set +e after_script: - - $CI_MANAGERS/fedora.sh CLEANUP + - $CI_MANAGERS/debian.sh CLEANUP + + - name: Debian Testing (ASan+UBSan) + language: bash + env: + - DEBIAN_RELEASE="testing" + - CONT_NAME="systemd-debian-$DEBIAN_RELEASE" + - DOCKER_EXEC="docker exec -ti $CONT_NAME" + before_install: + - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce + - docker --version + install: + - $CI_MANAGERS/debian.sh SETUP + script: + - set -e + - $CI_MANAGERS/debian.sh RUN_ASAN + - set +e + after_script: + - $CI_MANAGERS/debian.sh CLEANUP + + - name: Debian Testing (clang) + language: bash + env: + - DEBIAN_RELEASE="testing" + - CONT_NAME="systemd-debian-$DEBIAN_RELEASE" + - DOCKER_EXEC="docker exec -ti $CONT_NAME" + before_install: + - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce + - docker --version + install: + - $CI_MANAGERS/debian.sh SETUP + script: + - set -e + - $CI_MANAGERS/debian.sh RUN_CLANG + - set +e + after_script: + - $CI_MANAGERS/debian.sh CLEANUP + + - name: Debian Testing (clang ASan+UBSan) + language: bash + env: + - DEBIAN_RELEASE="testing" + - CONT_NAME="systemd-debian-$DEBIAN_RELEASE" + - DOCKER_EXEC="docker exec -ti $CONT_NAME" + before_install: + - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce + - docker --version + install: + - $CI_MANAGERS/debian.sh SETUP + script: + - set -e + - $CI_MANAGERS/debian.sh RUN_CLANG_ASAN + - set +e + after_script: + - $CI_MANAGERS/debian.sh CLEANUP + + - stage: Fuzzit-Sanity + name: Continuous Fuzzing Sanity via Fuzzit (sanity) + language: bash + script: + - set -e + - $CI_MANAGERS/fuzzit.sh sanity + - set +e + + - stage: Fuzzit-Fuzzing + name: Continuous Fuzzing Sanity via Fuzzit (fuzzing daily) + language: bash + script: + - set -e + - $CI_MANAGERS/fuzzit.sh fuzzing + - set +e - stage: Coverity language: bash @@ -42,10 +122,10 @@ jobs: - FEDORA_RELEASE="latest" - CONT_NAME="coverity-fedora-$FEDORA_RELEASE" - DOCKER_EXEC="docker exec -ti $CONT_NAME" - - DOCKER_RUN="docker run --env-file .cov-env" + - TOOL_BASE="/var/tmp/coverity-scan-analysis" + - DOCKER_RUN="docker run -v $TOOL_BASE:$TOOL_BASE:rw --env-file .cov-env" # Coverity env variables - PLATFORM="$(uname)" - - TOOL_BASE="/var/tmp/coverity-scan-analysis" - TOOL_ARCHIVE="/var/tmp/cov-analysis-$PLATFORM.tgz - SCAN_URL="https://scan.coverity.com" - UPLOAD_URL="https://scan.coverity.com/builds" @@ -68,8 +148,7 @@ jobs: script: - set -e # Preconfigure with meson to prevent Coverity from capturing meson metadata - # Set compiler flag to prevent emit failure - - $DOCKER_EXEC sh -c "CFLAGS='-D_Float128=long\ double -D_Float64=double -D_Float64x=long\ double -D_Float32=float -D_Float32x=double' meson cov-build -Dman=false" + - $DOCKER_EXEC meson cov-build -Dman=false # Run Coverity - $DOCKER_EXEC tools/coverity.sh build - $DOCKER_EXEC tools/coverity.sh upload