mirror of
https://github.com/systemd/systemd
synced 2024-09-06 16:56:43 +00:00
![Michal Sekletar](/assets/img/avatar_default.png)
Building and testing of systemd on Fedora Rawhide is now handled by dedicated Fedora CI. We don't need to duplicate this in Travis CI.
79 lines
3.6 KiB
YAML
79 lines
3.6 KiB
YAML
sudo: required
|
|
|
|
services:
|
|
- docker
|
|
|
|
language: c
|
|
|
|
jobs:
|
|
include:
|
|
- stage: coverity scan
|
|
before_script:
|
|
- sudo apt-get update
|
|
- sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce
|
|
- docker --version
|
|
- env > .env
|
|
env:
|
|
- COVERITY_SCAN_PROJECT_NAME="$TRAVIS_REPO_SLUG"
|
|
- COVERITY_SCAN_NOTIFICATION_EMAIL="${AUTHOR_EMAIL}"
|
|
- COVERITY_SCAN_BRANCH_PATTERN="$TRAVIS_BRANCH"
|
|
# Encrypted token for systemd/systemd Coverity Scan Analysis,
|
|
# generated by "travis encrypt -r systemd/systemd COVERITY_SCAN_TOKEN=<TOKEN>"
|
|
- secure: "lM0IVP2zOG5Ywk3YCbDCQL4WioyzzwtdtpZ+hKDy4BWCZDBJ/FVwIeBsXdMDvlTa3xi+GQ1b7kS2OmTfmG4aSlhU7isuH8SMq1Y4GR5AxfhkR+irUA1A1fntlvhbjIumDGW5wjs0Dt8KogMWS+ZD4eGE59lrVO/TrhMzIe1eHENVLFQJdNq+ZJXU8wxMfHf8lXk0xA8SJTid0XvZBNc4JN6pjJRA8LaOrMNhQYfygFmVQ598kwlu7gf5vbCKFPnIgJAxdIhz12XS9utGohV28IYj9d1DdUGUT+ar3OfADj3X8KFBP4Ymc02pcln3wVgdPtrDbFZh1R9jbmfdXGAH/6tTOJVn8aFySS2Vq9QiBiprWdPsAOLcWMNhnp0lMkASxs9/W26nU7Czo8VbAVWXM1w35plDpnDGR6lk/06dmOZpqu5p3AYr5xIKACIAdPDn0rNpnSWqC750WZ8ZWbHnKuZC5TWML7scVaPiEi7D7rbwqML2rdwx4ZoTZmCHiGByXCIWTfhf0JNQAix5WW3znl+BmDesumPgPj2mX+y6J1WYJrIz12m7qh7KhV/a1ODKM+I91A9rkOA/bPnmhmSSUR7CwgvZt1fC/VwBnaFFtAz9/70kN9Q8tDBXtXidExZwh1e3t5vDG72k3lXwNqpKRvdW3LOxK6lFvqEdMWVUJls="
|
|
script:
|
|
# Copy content of CI_DIR into WORKDIR
|
|
- find $CI_DIR -maxdepth 1 -type f -exec cp -t . {} +
|
|
# Build container for current user
|
|
- $CI_SCRIPT_DIR/build-docker-image.sh
|
|
|
|
# For kernel version 4.8+
|
|
- sudo sysctl vsyscall=emulate || true
|
|
# Prepare environment for Coverity tool
|
|
- |
|
|
PLATFORM=`uname`
|
|
export TOOL_BASE="/tmp/coverity-scan-analysis"
|
|
export SCAN_URL="https://scan.coverity.com"
|
|
export UPLOAD_URL="https://scan.coverity.com/builds"
|
|
export TOOL_ARCHIVE="/tmp/cov-analysis-${PLATFORM}.tgz"
|
|
|
|
# Get Coverity tool
|
|
- $CI_TOOL_DIR/get-coverity.sh
|
|
- TOOL_DIR="$(find $TOOL_BASE -type d -name 'cov-analysis*')"
|
|
|
|
# Export env variables for Coverity scan
|
|
- env | grep -E "TRAVIS|COV|TOOL|URL" > .cov-env
|
|
- |
|
|
docker run -dit --env-file .cov-env \
|
|
-v ${TOOL_BASE}:${TOOL_BASE}:ro \
|
|
--name travis_coverity_scan coverity-${TRAVIS_COMMIT}:latest bash
|
|
# Make sure Coverity script is executable
|
|
- docker cp tools/coverity.sh travis_coverity_scan:/usr/local/bin
|
|
# Preconfigure with meson to prevent Coverity from capturing meson metadata
|
|
# Set compiler flag to prevent emit failure
|
|
- docker exec -it travis_coverity_scan sh -c "CFLAGS='-D_Float128=long\ double' meson cov-build -Dman=false"
|
|
# Run Coverity Analysis
|
|
- docker exec -it travis_coverity_scan coverity.sh build
|
|
- docker exec -it travis_coverity_scan coverity.sh upload
|
|
|
|
# Specify the order of stages and conditions
|
|
stages:
|
|
- name: coverity scan
|
|
if: type = cron
|
|
|
|
env:
|
|
global:
|
|
- ADMIN_EMAIL=macermak@redhat.com
|
|
|
|
- AUTHOR_NAME="$(git log -1 $TRAVIS_COMMIT --pretty=\"%aN\")"
|
|
- AUTHOR_EMAIL="$(git log -1 $TRAVIS_COMMIT --pretty=\"%aE\")"
|
|
|
|
- CI_DIR="$TRAVIS_BUILD_DIR/travis-ci"
|
|
- CI_TOOL_DIR="$CI_DIR/tools"
|
|
- CI_SCRIPT_DIR="$CI_DIR/scripts"
|
|
|
|
notifications:
|
|
email:
|
|
recipients:
|
|
- ${ADMIN_EMAIL}
|
|
- ${AUTHOR_EMAIL}
|