sudo: required language: bash dist: focal services: - docker env: global: - PROJECT_NAME='libbpf' - AUTHOR_EMAIL="$(git log -1 --pretty=\"%aE\")" - REPO_ROOT="$TRAVIS_BUILD_DIR" - CI_ROOT="$REPO_ROOT/travis-ci" - VMTEST_ROOT="$CI_ROOT/vmtest" addons: apt: packages: - qemu-kvm - zstd - binutils-dev - elfutils - libcap-dev - libelf-dev - libdw-dev stages: # Run Coverity periodically instead of for each PR for following reasons: # 1) Coverity jobs are heavily rate-limited # 2) Due to security restrictions of encrypted environment variables # in Travis CI, pull requests made from forks can't access encrypted # env variables, making Coverity unusable # See: https://docs.travis-ci.com/user/pull-requests#pull-requests-and-security-restrictions - name: Coverity if: type = cron jobs: include: - stage: Builds & Tests name: Kernel 5.5.0 + selftests language: bash env: KERNEL=5.5.0 script: $CI_ROOT/vmtest/run_vmtest.sh || travis_terminate 1 - name: Kernel LATEST + selftests language: bash env: KERNEL=LATEST script: $CI_ROOT/vmtest/run_vmtest.sh || travis_terminate 1 - name: Kernel 4.9.0 + selftests language: bash env: KERNEL=4.9.0 script: $CI_ROOT/vmtest/run_vmtest.sh || travis_terminate 1 - name: Debian Build language: bash install: $CI_ROOT/managers/debian.sh SETUP script: $CI_ROOT/managers/debian.sh RUN || travis_terminate 1 after_script: $CI_ROOT/managers/debian.sh CLEANUP - name: Debian Build (ASan+UBSan) language: bash install: $CI_ROOT/managers/debian.sh SETUP script: $CI_ROOT/managers/debian.sh RUN_ASAN || travis_terminate 1 after_script: $CI_ROOT/managers/debian.sh CLEANUP - name: Debian Build (clang) language: bash install: $CI_ROOT/managers/debian.sh SETUP script: $CI_ROOT/managers/debian.sh RUN_CLANG || travis_terminate 1 after_script: $CI_ROOT/managers/debian.sh CLEANUP - name: Debian Build (clang ASan+UBSan) language: bash install: $CI_ROOT/managers/debian.sh SETUP script: $CI_ROOT/managers/debian.sh RUN_CLANG_ASAN || travis_terminate 1 after_script: $CI_ROOT/managers/debian.sh CLEANUP - name: Debian Build (gcc-10) language: bash install: $CI_ROOT/managers/debian.sh SETUP script: $CI_ROOT/managers/debian.sh RUN_GCC10 || travis_terminate 1 after_script: $CI_ROOT/managers/debian.sh CLEANUP - name: Debian Build (gcc-10 ASan+UBSan) language: bash install: $CI_ROOT/managers/debian.sh SETUP script: $CI_ROOT/managers/debian.sh RUN_GCC10_ASAN || travis_terminate 1 after_script: $CI_ROOT/managers/debian.sh CLEANUP - name: Ubuntu Focal Build language: bash script: sudo $CI_ROOT/managers/ubuntu.sh || travis_terminate 1 - name: Ubuntu Focal Build (arm) arch: arm64 language: bash script: sudo $CI_ROOT/managers/ubuntu.sh || travis_terminate 1 - name: Ubuntu Focal Build (s390x) arch: s390x language: bash script: sudo $CI_ROOT/managers/ubuntu.sh || travis_terminate 1 - name: Ubuntu Focal Build (ppc64le) arch: ppc64le language: bash script: sudo $CI_ROOT/managers/ubuntu.sh || travis_terminate 1 - stage: Coverity language: bash env: # Coverity configuration # COVERITY_SCAN_TOKEN=xxx # Encrypted using `travis encrypt --repo libbpf/libbpf COVERITY_SCAN_TOKEN=xxx` - secure: "I9OsMRHbb82IUivDp+I+w/jEQFOJgBDAqYqf1ollqCM1QhocxMcS9bwIAgfPhdXi2hohV7sRrVMZstahY67FAvJLGxNopi4tAPDIAaIFxgO0yDxMhaTMx5xDfMwlIm2FOP/9gB9BQsd6M7CmoQZgXYwBIv7xd1ooxoQrh2rOK1YrRl7UQu3+c3zPTjDfIYZzR3bFttMqZ9/c4U0v8Ry5IFXrel3hCshndHA1TtttJrUSrILlZcmVc1ch7JIy6zCbCU/2lGv0B/7rWXfF8MT7O9jPtFOhJ1DEcd2zhw2n4j9YT3a8OhtnM61LA6ask632mwCOsxpFLTun7AzuR1Cb5mdPHsxhxnCHcXXARa2mJjem0QG1NhwxwJE8sbRDapojexxCvweYlEN40ofwMDSnj/qNt95XIcrk0tiIhGFx0gVNWvAdmZwx+N4mwGPMTAN0AEOFjpgI+ZdB89m+tL/CbEgE1flc8QxUxJhcp5OhH6yR0z9qYOp0nXIbHsIaCiRvt/7LqFRQfheifztWVz4mdQlCdKS9gcOQ09oKicPevKO1L0Ue3cb7Ug7jOpMs+cdh3XokJtUeYEr1NijMHT9+CTAhhO5RToWXIZRon719z3fwoUBNDREATwVFMlVxqSO/pbYgaKminigYbl785S89YYaZ6E5UvaKRHM6KHKMDszs=" - COVERITY_SCAN_PROJECT_NAME="libbpf" - COVERITY_SCAN_NOTIFICATION_EMAIL="${AUTHOR_EMAIL}" - COVERITY_SCAN_BRANCH_PATTERN="$TRAVIS_BRANCH" # Note: `make -C src/` as a BUILD_COMMAND will not work here - COVERITY_SCAN_BUILD_COMMAND_PREPEND="cd src/" - COVERITY_SCAN_BUILD_COMMAND="make" install: - sudo echo 'deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse' >>/etc/apt/sources.list - sudo apt-get update - sudo apt-get -y build-dep libelf-dev - sudo apt-get install -y libelf-dev pkg-config script: - scripts/coverity.sh || travis_terminate 1 allow_failures: - env: KERNEL=x.x.x