sudo: required
+dist: xenial
services:
- docker
- 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
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"
- $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:
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