]>
Commit | Line | Data |
---|---|---|
99127d20 | 1 | sudo: required |
99127d20 MČ |
2 | services: |
3 | - docker | |
3f4b547a | 4 | |
3bbdc2f9 FS |
5 | env: |
6 | global: | |
7 | - AUTHOR_EMAIL="$(git log -1 $TRAVIS_COMMIT --pretty=\"%aE\")" | |
8 | - CI_TOOLS="$TRAVIS_BUILD_DIR/travis-ci/tools" | |
9 | ||
10 | stages: | |
11 | # Run Coverity periodically instead of for each commit/PR | |
12 | - name: Coverity | |
13 | if: type = cron | |
99127d20 MČ |
14 | |
15 | jobs: | |
16 | include: | |
3bbdc2f9 FS |
17 | - stage: Build & test |
18 | name: Fedora Rawhide | |
19 | language: bash | |
20 | env: | |
21 | - FEDORA_RELEASE="rawhide" | |
22 | - CONT_NAME="systemd-fedora-$FEDORA_RELEASE" | |
23 | - BUILD_REQS_FILE="$TRAVIS_BUILD_DIR/travis-ci/fedora-build.reqs" | |
24 | - DOCKER_EXEC="docker exec -ti $CONT_NAME" | |
25 | before_install: | |
99127d20 MČ |
26 | - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce |
27 | - docker --version | |
3bbdc2f9 FS |
28 | install: |
29 | # Pull a Docker image and start a new container | |
30 | - docker pull fedora:$FEDORA_RELEASE | |
31 | - docker run -v $TRAVIS_BUILD_DIR:/build:rw | |
32 | -v /var/lib/dbus/machine-id:/etc/machine-id:ro | |
33 | -w /build --privileged=true --name $CONT_NAME | |
34 | -dit --net=host fedora:$FEDORA_RELEASE /sbin/init | |
35 | # Upgrade system and install necessary build/test requirements | |
36 | - $DOCKER_EXEC dnf -y --refresh upgrade | |
37 | - $DOCKER_EXEC dnf -y install $(cat $BUILD_REQS_FILE) | |
38 | script: | |
39 | - set -e | |
40 | # Build systemd | |
41 | - $DOCKER_EXEC meson build | |
42 | - $DOCKER_EXEC ninja -C build | |
43 | # Run 'make check' | |
44 | - $DOCKER_EXEC ninja -C build test | |
45 | - set +e | |
46 | ||
47 | - stage: Coverity | |
48 | language: bash | |
99127d20 | 49 | env: |
3bbdc2f9 FS |
50 | - FEDORA_RELEASE="rawhide" |
51 | - CONT_NAME="coverity-fedora-$FEDORA_RELEASE" | |
52 | - BUILD_REQS_FILE="$TRAVIS_BUILD_DIR/travis-ci/fedora-build.reqs" | |
53 | - DOCKER_EXEC="docker exec -ti $CONT_NAME" | |
54 | # Coverity env variables | |
55 | - PLATFORM="$(uname)" | |
56 | - TOOL_BASE="/var/tmp/coverity-scan-analysis" | |
57 | - TOOL_ARCHIVE="/var/tmp/cov-analysis-$PLATFORM.tgz | |
58 | - SCAN_URL="https://scan.coverity.com" | |
59 | - UPLOAD_URL="https://scan.coverity.com/builds" | |
99127d20 MČ |
60 | - COVERITY_SCAN_PROJECT_NAME="$TRAVIS_REPO_SLUG" |
61 | - COVERITY_SCAN_NOTIFICATION_EMAIL="${AUTHOR_EMAIL}" | |
62 | - COVERITY_SCAN_BRANCH_PATTERN="$TRAVIS_BRANCH" | |
3bbdc2f9 FS |
63 | # Encrypted COVERITY_SCAN_TOKEN env variable (travis encrypt) |
64 | - secure: "UNQLspT89GYWuVKFqW5W5RyqqnYg5RvX20IrNraOddhpdV9nhKBtozrfmhGXDGZwfHGWHt6g7YROlD/NIMvDvThVJIEYvSQiXCoo2zRrwkl2siET5MjPfRG8numiLq0KX47KGmyBJISJZCgDUdNGqqGwgf7AhDN78I3XtgqjFT1z0mGl8n0wiFpKPi7i3nECvF4Mk7xCCHqwByaq0z5G9NkVlOvP1EyCxwv3B6I5Umfch7ibp7iH44YnVXILK+yEry5dMuctYwYkDouR80ChEPQQ5fhhpO4++HJmFuSpfMTeCHpucAd2xwSUijejYeN/GNQ177GxSSk/8hRBGcuSK8T/WJ+KiuJPhZObV8mw+a6+qdQssWY4F9jya5ZKbZ/yTbxjtQ0m4AgtL28P9bEze8pLh16zFMX+hIEuoFSNmJqmtNttfbD5TKyYVZml59s9wvhlvMnlNpRSQva88OAOjXtiA41g+XtTxxpfW9mgd7HYhzSBs1efNiK7PfkANgve7KIYMAmCAqasgb1IIAyX7stOlJH06QOFXNH55PmJLkkKyL3SMQzgryMDWegU+XbS8t43r0x14WLuE7sc9JtnOr/G8hthFaMRp8xLy9aCBwyEIkEsyWa50VMoZDa3Spdb4r1CKBwcGdCbyE4rCehwEIznbfrsSovhwiUds7bbhBU=" | |
65 | before_install: | |
66 | - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce | |
67 | - docker --version | |
68 | install: | |
69 | # Install Coverity on the host | |
70 | - $CI_TOOLS/get-coverity.sh | |
71 | # Export necessary env variables for Coverity | |
99127d20 | 72 | - env | grep -E "TRAVIS|COV|TOOL|URL" > .cov-env |
3bbdc2f9 FS |
73 | # Pull a Docker image and start a new container |
74 | - docker pull fedora:$FEDORA_RELEASE | |
75 | - docker run -v $TRAVIS_BUILD_DIR:/build:rw | |
76 | -v /var/lib/dbus/machine-id:/etc/machine-id:ro | |
77 | -v $TOOL_BASE:$TOOL_BASE:rw | |
78 | -w /build --privileged=true --name $CONT_NAME | |
79 | --env-file .cov-env | |
80 | -dit --net=host fedora:$FEDORA_RELEASE /sbin/init | |
81 | # Upgrade system and install necessary build/test requirements | |
82 | - $DOCKER_EXEC dnf -y --refresh upgrade | |
83 | - $DOCKER_EXEC dnf -y install $(cat $BUILD_REQS_FILE) | |
84 | script: | |
85 | - set -e | |
86 | # Preconfigure with meson to prevent Coverity from capturing meson metadata | |
87 | # Set compiler flag to prevent emit failure | |
88 | - $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" | |
89 | # Run Coverity | |
90 | - $DOCKER_EXEC tools/coverity.sh build | |
91 | - $DOCKER_EXEC tools/coverity.sh upload | |
99127d20 | 92 | |
3bbdc2f9 | 93 | - set +e |