mirror of
https://github.com/netdata/libbpf.git
synced 2026-04-04 23:59:07 +08:00
Travis now supports IBM Z and IBM Power architectures, so let's enable them in our CI as well. As libbpf won't compile on ppc64le right now (with current CFLAGS), let skip it until the issue is resolved, see discussion in https://github.com/libbpf/libbpf/pull/98#issuecomment-553873098 See: https://blog.travis-ci.com/2019-11-12-multi-cpu-architecture-ibm-power-ibm-z
172 lines
6.3 KiB
YAML
172 lines
6.3 KiB
YAML
sudo: required
|
|
dist: xenial
|
|
services:
|
|
- docker
|
|
|
|
env:
|
|
global:
|
|
- AUTHOR_EMAIL="$(git log -1 --pretty=\"%aE\")"
|
|
- CI_MANAGERS="$TRAVIS_BUILD_DIR/travis-ci/managers"
|
|
- REPO_ROOT="$TRAVIS_BUILD_DIR"
|
|
|
|
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: Build & test
|
|
name: Debian Testing
|
|
language: bash
|
|
env:
|
|
- DEBIAN_RELEASE="testing"
|
|
- CONT_NAME="libbpf-debian-$DEBIAN_RELEASE"
|
|
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
|
|
- set +e
|
|
after_script:
|
|
- $CI_MANAGERS/debian.sh CLEANUP
|
|
|
|
- name: Debian Testing (ASan+UBSan)
|
|
language: bash
|
|
env:
|
|
- DEBIAN_RELEASE="testing"
|
|
- CONT_NAME="libbpf-debian-$DEBIAN_RELEASE"
|
|
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="libbpf-debian-$DEBIAN_RELEASE"
|
|
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="libbpf-debian-$DEBIAN_RELEASE"
|
|
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
|
|
|
|
- name: Debian Testing (gcc-8)
|
|
language: bash
|
|
env:
|
|
- DEBIAN_RELEASE="testing"
|
|
- CONT_NAME="libbpf-debian-$DEBIAN_RELEASE"
|
|
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_GCC8
|
|
- set +e
|
|
after_script:
|
|
- $CI_MANAGERS/debian.sh CLEANUP
|
|
|
|
- name: Debian Testing (gcc-8 ASan+UBSan)
|
|
language: bash
|
|
env:
|
|
- DEBIAN_RELEASE="testing"
|
|
- CONT_NAME="libbpf-debian-$DEBIAN_RELEASE"
|
|
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_GCC8_ASAN
|
|
- set +e
|
|
after_script:
|
|
- $CI_MANAGERS/debian.sh CLEANUP
|
|
|
|
- name: Ubuntu Xenial
|
|
language: bash
|
|
script:
|
|
- set -e
|
|
- sudo $CI_MANAGERS/xenial.sh
|
|
- set +e
|
|
|
|
- name: Ubuntu Xenial (arm)
|
|
arch: arm64
|
|
language: bash
|
|
script:
|
|
- set -e
|
|
- sudo $CI_MANAGERS/xenial.sh
|
|
- set +e
|
|
|
|
- name: Ubuntu Xenial (s390x)
|
|
arch: s390x
|
|
language: bash
|
|
script:
|
|
- set -e
|
|
- sudo $CI_MANAGERS/xenial.sh
|
|
- set +e
|
|
|
|
- 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/ xenial 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:
|
|
- set -e
|
|
- scripts/coverity.sh
|
|
- set +e
|