mirror of
https://github.com/systemd/systemd
synced 2024-10-15 12:34:37 +00:00
749d3c938f
Turns out Fedora is the least stable distribution in terms of downloading packages. Debian is much more stable so let's use it.
135 lines
5.6 KiB
YAML
135 lines
5.6 KiB
YAML
sudo: required
|
|
dist: xenial
|
|
services:
|
|
- docker
|
|
|
|
env:
|
|
global:
|
|
- AUTHOR_EMAIL="$(git log -1 $TRAVIS_COMMIT --pretty=\"%aE\")"
|
|
- CI_MANAGERS="$TRAVIS_BUILD_DIR/travis-ci/managers"
|
|
- CI_TOOLS="$TRAVIS_BUILD_DIR/travis-ci/tools"
|
|
- REPO_ROOT="$TRAVIS_BUILD_DIR"
|
|
|
|
stages:
|
|
# Run Coverity periodically instead of for each commit/PR
|
|
- name: Coverity
|
|
if: type = cron
|
|
|
|
jobs:
|
|
include:
|
|
- stage: Build & test
|
|
name: Debian Testing
|
|
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
|
|
# Build systemd
|
|
- $CI_MANAGERS/debian.sh RUN
|
|
- set +e
|
|
after_script:
|
|
- $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: Coverity
|
|
language: bash
|
|
env:
|
|
- FEDORA_RELEASE="latest"
|
|
- CONT_NAME="coverity-fedora-$FEDORA_RELEASE"
|
|
- DOCKER_EXEC="docker exec -ti $CONT_NAME"
|
|
- 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_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"
|
|
- COVERITY_SCAN_NOTIFICATION_EMAIL="${AUTHOR_EMAIL}"
|
|
- COVERITY_SCAN_BRANCH_PATTERN="$TRAVIS_BRANCH"
|
|
# Encrypted COVERITY_SCAN_TOKEN env variable
|
|
# Generated using `travis encrypt -r systemd/systemd COVERITY_SCAN_TOKEN=xxxx`
|
|
- secure: "jKSz+Y1Mv8xMpQHh7g5lzW7E6HQGndFz/vKDJQ1CVShwFoyjV3Zu+MFS3UYKlh1236zL0Z4dvsYFx/b3Hq8nxZWCrWeZs2NdXgy/wh8LZhxwzcGYigp3sIA/cYdP5rDjFJO0MasNkl25/rml8+eZWz+8/xQic98UQHjSco/EOWtssoRcg0J0c4eDM7bGLfIQWE73NNY1Q1UtWjKmx1kekVrM8dPmHXJ9aERka7bmcbJAcKd6vabs6DQ5AfWccUPIn/EsRYqIJTRxJrFYU6XizANZ1a7Vwk/DWHZUEn2msxcZw5BbAMDTMx0TbfrNkKSHMHuvQUCu6KCBAq414i+LgkMfmQ2SWwKiIUsud1kxXX3ZPl9bxDv1HkvVdcniC/EM7lNEEVwm4meOnjuhI2lhOyOjmP3FTSlMHGP7xlK8DS2k9fqL58vn0BaSjwWgd+2+HuL2+nJmxcK1eLGzKqaostFxrk2Xs2vPZkUdV2nWY/asUrcWHml6YlWDn2eP83pfwxHYsMiEHY/rTKvxeVY+iirO/AphoO+eaYu7LvjKZU1Yx5Z4u/SnGWAiCH0yhMis0bWmgi7SCbw+sDd2uya+aoiLIGiB2ChW7hXHXCue/dif6/gLU7b+L8R00pQwnWdvKUPoIJCmZJYCluTeib4jpW+EmARB2+nR8wms2K9FGKM="
|
|
before_install:
|
|
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
|
- docker --version
|
|
install:
|
|
# Install Coverity on the host
|
|
- $CI_TOOLS/get-coverity.sh
|
|
# Export necessary env variables for Coverity
|
|
- env | grep -E "TRAVIS|COV|TOOL|URL" > .cov-env
|
|
# Pull a Docker image and start a new container
|
|
- $CI_MANAGERS/fedora.sh SETUP
|
|
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"
|
|
# Run Coverity
|
|
- $DOCKER_EXEC tools/coverity.sh build
|
|
- $DOCKER_EXEC tools/coverity.sh upload
|
|
|
|
- set +e
|
|
after_script:
|
|
- $CI_MANAGERS/fedora.sh CLEANUP
|