X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=.travis.yml;h=82f62a860f2c7153ca0e72fa3e9504e54a8c94b8;hb=aaf6c75061109e6e6a8049cef93703e079d6b4f3;hp=f50731fe3fa56e900aba6cec40b3740318a66e4a;hpb=1478aa4eb58d5e7406ab608c1cfe3e69543ad47e;p=thirdparty%2Fsystemd.git diff --git a/.travis.yml b/.travis.yml index f50731fe3fa..82f62a860f2 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-Regression + if: type != cron + # Run Coverity periodically instead of for each commit/PR - name: Coverity if: type = cron @@ -17,80 +27,62 @@ stages: jobs: include: - stage: Build & test - name: Fedora Latest + name: Debian Testing language: bash env: - - FEDORA_RELEASE="latest" - - 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 - - set +e - after_script: - - $CI_MANAGERS/fedora.sh CLEANUP - - - name: Fedora Latest (ASan+UBSan) - language: bash - env: - - FEDORA_RELEASE="latest" - - CONT_NAME="systemd-fedora-$FEDORA_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 - script: - - set -e - - $CI_MANAGERS/fedora.sh RUN_ASAN + - $CI_MANAGERS/debian.sh RUN - set +e after_script: - - $CI_MANAGERS/fedora.sh CLEANUP + - $CI_MANAGERS/debian.sh CLEANUP - - name: Fedora Latest (clang) + - name: Debian Testing (ASan+UBSan) language: bash env: - - FEDORA_RELEASE="latest" - - 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 - - $CI_MANAGERS/fedora.sh RUN_CLANG + - $CI_MANAGERS/debian.sh RUN_ASAN - set +e after_script: - - $CI_MANAGERS/fedora.sh CLEANUP + - $CI_MANAGERS/debian.sh CLEANUP - - name: Fedora Latest (clang ASan+UBSan) + - name: Debian Testing (clang) language: bash env: - - FEDORA_RELEASE="latest" - - 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 - - $CI_MANAGERS/fedora.sh RUN_CLANG_ASAN + - $CI_MANAGERS/debian.sh RUN_CLANG - set +e after_script: - - $CI_MANAGERS/fedora.sh CLEANUP + - $CI_MANAGERS/debian.sh CLEANUP - - name: Debian Testing + - name: Debian Testing (clang ASan+UBSan) language: bash env: - DEBIAN_RELEASE="testing" @@ -103,11 +95,27 @@ jobs: - $CI_MANAGERS/debian.sh SETUP script: - set -e - - $CI_MANAGERS/debian.sh RUN + - $CI_MANAGERS/debian.sh RUN_CLANG_ASAN - set +e after_script: - $CI_MANAGERS/debian.sh CLEANUP + - stage: Fuzzit-Regression + name: Continuous Fuzzing via Fuzzit (regression) + language: bash + script: + - set -e + - $CI_MANAGERS/fuzzit.sh regression + - set +e + + - stage: Fuzzit-Fuzzing + name: Continuous Fuzzing via Fuzzit (fuzzing daily) + language: bash + script: + - set -e + - $CI_MANAGERS/fuzzit.sh fuzzing + - set +e + - stage: Coverity language: bash env: @@ -118,7 +126,7 @@ jobs: - DOCKER_RUN="docker run -v $TOOL_BASE:$TOOL_BASE:rw --env-file .cov-env" # Coverity env variables - PLATFORM="$(uname)" - - TOOL_ARCHIVE="/var/tmp/cov-analysis-$PLATFORM.tgz + - TOOL_ARCHIVE="/var/tmp/cov-analysis-$PLATFORM.tgz" - SCAN_URL="https://scan.coverity.com" - UPLOAD_URL="https://scan.coverity.com/builds" - COVERITY_SCAN_PROJECT_NAME="$TRAVIS_REPO_SLUG" @@ -140,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