hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 1 | sudo: required |
hex | 76d5bb6 | 2019-11-15 11:04:51 -0800 | [diff] [blame] | 2 | language: bash |
Andrii Nakryiko | bab780e | 2021-02-01 21:01:22 -0800 | [diff] [blame] | 3 | dist: focal |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 4 | services: |
| 5 | - docker |
| 6 | |
| 7 | env: |
| 8 | global: |
hex | 76d5bb6 | 2019-11-15 11:04:51 -0800 | [diff] [blame] | 9 | - PROJECT_NAME='libbpf' |
Frantisek Sumsal | c204e3d | 2019-10-31 13:15:15 +0100 | [diff] [blame] | 10 | - AUTHOR_EMAIL="$(git log -1 --pretty=\"%aE\")" |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 11 | - REPO_ROOT="$TRAVIS_BUILD_DIR" |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 12 | - CI_ROOT="$REPO_ROOT/travis-ci" |
| 13 | - VMTEST_ROOT="$CI_ROOT/vmtest" |
hex | 76d5bb6 | 2019-11-15 11:04:51 -0800 | [diff] [blame] | 14 | |
| 15 | addons: |
| 16 | apt: |
| 17 | packages: |
| 18 | - qemu-kvm |
| 19 | - zstd |
Julia Kartseva | 583bddc | 2020-02-12 12:20:53 -0800 | [diff] [blame] | 20 | - binutils-dev |
| 21 | - elfutils |
| 22 | - libcap-dev |
| 23 | - libelf-dev |
Andrii Nakryiko | 22d5d40 | 2020-02-21 15:11:54 -0800 | [diff] [blame] | 24 | - libdw-dev |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 25 | |
Frantisek Sumsal | c204e3d | 2019-10-31 13:15:15 +0100 | [diff] [blame] | 26 | stages: |
| 27 | # Run Coverity periodically instead of for each PR for following reasons: |
| 28 | # 1) Coverity jobs are heavily rate-limited |
| 29 | # 2) Due to security restrictions of encrypted environment variables |
| 30 | # in Travis CI, pull requests made from forks can't access encrypted |
| 31 | # env variables, making Coverity unusable |
| 32 | # See: https://docs.travis-ci.com/user/pull-requests#pull-requests-and-security-restrictions |
| 33 | - name: Coverity |
| 34 | if: type = cron |
| 35 | |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 36 | jobs: |
| 37 | include: |
Andrii Nakryiko | e954437 | 2020-08-10 22:12:02 -0700 | [diff] [blame] | 38 | - stage: Builds & Tests |
Andrii Nakryiko | 9e123fa | 2021-04-29 12:57:54 -0700 | [diff] [blame] | 39 | name: Kernel 5.5.0 + selftests |
| 40 | language: bash |
| 41 | env: KERNEL=5.5.0 |
| 42 | script: $CI_ROOT/vmtest/run_vmtest.sh || travis_terminate 1 |
| 43 | |
| 44 | - name: Kernel LATEST + selftests |
Andrii Nakryiko | daa2c7f | 2020-07-08 16:25:18 -0700 | [diff] [blame] | 45 | language: bash |
| 46 | env: KERNEL=LATEST |
| 47 | script: $CI_ROOT/vmtest/run_vmtest.sh || travis_terminate 1 |
| 48 | |
| 49 | - name: Kernel 4.9.0 + selftests |
| 50 | language: bash |
| 51 | env: KERNEL=4.9.0 |
| 52 | script: $CI_ROOT/vmtest/run_vmtest.sh || travis_terminate 1 |
| 53 | |
Andrii Nakryiko | e954437 | 2020-08-10 22:12:02 -0700 | [diff] [blame] | 54 | - name: Debian Build |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 55 | language: bash |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 56 | install: $CI_ROOT/managers/debian.sh SETUP |
Andrii Nakryiko | 8c7527e | 2020-06-10 11:55:38 -0700 | [diff] [blame] | 57 | script: $CI_ROOT/managers/debian.sh RUN || travis_terminate 1 |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 58 | after_script: $CI_ROOT/managers/debian.sh CLEANUP |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 59 | |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 60 | - name: Debian Build (ASan+UBSan) |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 61 | language: bash |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 62 | install: $CI_ROOT/managers/debian.sh SETUP |
Andrii Nakryiko | 8c7527e | 2020-06-10 11:55:38 -0700 | [diff] [blame] | 63 | script: $CI_ROOT/managers/debian.sh RUN_ASAN || travis_terminate 1 |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 64 | after_script: $CI_ROOT/managers/debian.sh CLEANUP |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 65 | |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 66 | - name: Debian Build (clang) |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 67 | language: bash |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 68 | install: $CI_ROOT/managers/debian.sh SETUP |
Andrii Nakryiko | 8c7527e | 2020-06-10 11:55:38 -0700 | [diff] [blame] | 69 | script: $CI_ROOT/managers/debian.sh RUN_CLANG || travis_terminate 1 |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 70 | after_script: $CI_ROOT/managers/debian.sh CLEANUP |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 71 | |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 72 | - name: Debian Build (clang ASan+UBSan) |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 73 | language: bash |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 74 | install: $CI_ROOT/managers/debian.sh SETUP |
Andrii Nakryiko | 8c7527e | 2020-06-10 11:55:38 -0700 | [diff] [blame] | 75 | script: $CI_ROOT/managers/debian.sh RUN_CLANG_ASAN || travis_terminate 1 |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 76 | after_script: $CI_ROOT/managers/debian.sh CLEANUP |
hex | 4de9ffc | 2019-04-19 11:36:09 -0700 | [diff] [blame] | 77 | |
Andrii Nakryiko | e1a90f3 | 2021-02-22 11:42:57 -0800 | [diff] [blame] | 78 | - name: Debian Build (gcc-10) |
hex | 8162530 | 2019-04-29 14:06:46 -0700 | [diff] [blame] | 79 | language: bash |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 80 | install: $CI_ROOT/managers/debian.sh SETUP |
Andrii Nakryiko | e1a90f3 | 2021-02-22 11:42:57 -0800 | [diff] [blame] | 81 | script: $CI_ROOT/managers/debian.sh RUN_GCC10 || travis_terminate 1 |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 82 | after_script: $CI_ROOT/managers/debian.sh CLEANUP |
hex | 8162530 | 2019-04-29 14:06:46 -0700 | [diff] [blame] | 83 | |
Andrii Nakryiko | e1a90f3 | 2021-02-22 11:42:57 -0800 | [diff] [blame] | 84 | - name: Debian Build (gcc-10 ASan+UBSan) |
hex | 8162530 | 2019-04-29 14:06:46 -0700 | [diff] [blame] | 85 | language: bash |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 86 | install: $CI_ROOT/managers/debian.sh SETUP |
Andrii Nakryiko | e1a90f3 | 2021-02-22 11:42:57 -0800 | [diff] [blame] | 87 | script: $CI_ROOT/managers/debian.sh RUN_GCC10_ASAN || travis_terminate 1 |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 88 | after_script: $CI_ROOT/managers/debian.sh CLEANUP |
hex | 8162530 | 2019-04-29 14:06:46 -0700 | [diff] [blame] | 89 | |
Andrii Nakryiko | bab780e | 2021-02-01 21:01:22 -0800 | [diff] [blame] | 90 | - name: Ubuntu Focal Build |
hex | 2d1959f | 2019-04-17 11:02:45 -0700 | [diff] [blame] | 91 | language: bash |
Andrii Nakryiko | 8c7527e | 2020-06-10 11:55:38 -0700 | [diff] [blame] | 92 | script: sudo $CI_ROOT/managers/ubuntu.sh || travis_terminate 1 |
Frantisek Sumsal | 2a25957 | 2019-10-23 10:42:21 +0200 | [diff] [blame] | 93 | |
Andrii Nakryiko | bab780e | 2021-02-01 21:01:22 -0800 | [diff] [blame] | 94 | - name: Ubuntu Focal Build (arm) |
Frantisek Sumsal | 2a25957 | 2019-10-23 10:42:21 +0200 | [diff] [blame] | 95 | arch: arm64 |
| 96 | language: bash |
Andrii Nakryiko | 8c7527e | 2020-06-10 11:55:38 -0700 | [diff] [blame] | 97 | script: sudo $CI_ROOT/managers/ubuntu.sh || travis_terminate 1 |
Frantisek Sumsal | c204e3d | 2019-10-31 13:15:15 +0100 | [diff] [blame] | 98 | |
Andrii Nakryiko | bab780e | 2021-02-01 21:01:22 -0800 | [diff] [blame] | 99 | - name: Ubuntu Focal Build (s390x) |
Andrii Nakryiko | e954437 | 2020-08-10 22:12:02 -0700 | [diff] [blame] | 100 | arch: s390x |
| 101 | language: bash |
| 102 | script: sudo $CI_ROOT/managers/ubuntu.sh || travis_terminate 1 |
Frantisek Sumsal | 3720f31 | 2019-11-14 13:32:35 +0100 | [diff] [blame] | 103 | |
Andrii Nakryiko | bab780e | 2021-02-01 21:01:22 -0800 | [diff] [blame] | 104 | - name: Ubuntu Focal Build (ppc64le) |
Frantisek Sumsal | c42bfcb | 2019-12-10 11:35:24 +0100 | [diff] [blame] | 105 | arch: ppc64le |
| 106 | language: bash |
Andrii Nakryiko | 8c7527e | 2020-06-10 11:55:38 -0700 | [diff] [blame] | 107 | script: sudo $CI_ROOT/managers/ubuntu.sh || travis_terminate 1 |
Andrii Nakryiko | 17c26b7 | 2020-02-20 12:28:46 -0800 | [diff] [blame] | 108 | |
Frantisek Sumsal | c204e3d | 2019-10-31 13:15:15 +0100 | [diff] [blame] | 109 | - stage: Coverity |
| 110 | language: bash |
| 111 | env: |
| 112 | # Coverity configuration |
| 113 | # COVERITY_SCAN_TOKEN=xxx |
| 114 | # Encrypted using `travis encrypt --repo libbpf/libbpf COVERITY_SCAN_TOKEN=xxx` |
| 115 | - secure: "I9OsMRHbb82IUivDp+I+w/jEQFOJgBDAqYqf1ollqCM1QhocxMcS9bwIAgfPhdXi2hohV7sRrVMZstahY67FAvJLGxNopi4tAPDIAaIFxgO0yDxMhaTMx5xDfMwlIm2FOP/9gB9BQsd6M7CmoQZgXYwBIv7xd1ooxoQrh2rOK1YrRl7UQu3+c3zPTjDfIYZzR3bFttMqZ9/c4U0v8Ry5IFXrel3hCshndHA1TtttJrUSrILlZcmVc1ch7JIy6zCbCU/2lGv0B/7rWXfF8MT7O9jPtFOhJ1DEcd2zhw2n4j9YT3a8OhtnM61LA6ask632mwCOsxpFLTun7AzuR1Cb5mdPHsxhxnCHcXXARa2mJjem0QG1NhwxwJE8sbRDapojexxCvweYlEN40ofwMDSnj/qNt95XIcrk0tiIhGFx0gVNWvAdmZwx+N4mwGPMTAN0AEOFjpgI+ZdB89m+tL/CbEgE1flc8QxUxJhcp5OhH6yR0z9qYOp0nXIbHsIaCiRvt/7LqFRQfheifztWVz4mdQlCdKS9gcOQ09oKicPevKO1L0Ue3cb7Ug7jOpMs+cdh3XokJtUeYEr1NijMHT9+CTAhhO5RToWXIZRon719z3fwoUBNDREATwVFMlVxqSO/pbYgaKminigYbl785S89YYaZ6E5UvaKRHM6KHKMDszs=" |
| 116 | - COVERITY_SCAN_PROJECT_NAME="libbpf" |
| 117 | - COVERITY_SCAN_NOTIFICATION_EMAIL="${AUTHOR_EMAIL}" |
| 118 | - COVERITY_SCAN_BRANCH_PATTERN="$TRAVIS_BRANCH" |
| 119 | # Note: `make -C src/` as a BUILD_COMMAND will not work here |
| 120 | - COVERITY_SCAN_BUILD_COMMAND_PREPEND="cd src/" |
| 121 | - COVERITY_SCAN_BUILD_COMMAND="make" |
| 122 | install: |
Andrii Nakryiko | bab780e | 2021-02-01 21:01:22 -0800 | [diff] [blame] | 123 | - sudo echo 'deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse' >>/etc/apt/sources.list |
Frantisek Sumsal | 91e4f27 | 2019-11-02 23:23:19 +0100 | [diff] [blame] | 124 | - sudo apt-get update |
| 125 | - sudo apt-get -y build-dep libelf-dev |
| 126 | - sudo apt-get install -y libelf-dev pkg-config |
Frantisek Sumsal | c204e3d | 2019-10-31 13:15:15 +0100 | [diff] [blame] | 127 | script: |
Andrii Nakryiko | 8c7527e | 2020-06-10 11:55:38 -0700 | [diff] [blame] | 128 | - scripts/coverity.sh || travis_terminate 1 |
Julia Kartseva | 1b42b15 | 2020-07-01 11:51:46 -0700 | [diff] [blame] | 129 | allow_failures: |
Andrii Nakryiko | daa2c7f | 2020-07-08 16:25:18 -0700 | [diff] [blame] | 130 | - env: KERNEL=x.x.x |