summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: fbcfa9c35d5f0cfab1803914e5fa5fc89eac2e54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
language: minimal
dist: bionic
matrix:
  include:
    - name: OSX (xcode12.2 clang-12.0.0)
      os: osx
      osx_image: xcode12.2
    - name: Linux amd64 (gcc-9)
      os: linux
      addons:
        apt:
          update: true
          sources:
            - ubuntu-toolchain-r-test
            - sourceline: ppa:ubuntu-toolchain-r/test
          packages: g++-9
      env:
        - CXX=g++-9
        - CC=gcc-9
    - name: Linux arm64 (gcc-8)
      os: linux
      arch: arm64
      addons:
        apt:
          packages: g++-8
      env:
        - CXX=g++-8
        - CC=gcc-8
    - name: Linux s390x (gcc-7)
      os: linux
      arch: s390x
    - name: Linux ppc64le (gcc-7)
      os: linux
      arch: ppc64le
    - name: Linux amd64 (clang)
      os: linux
      env:
        - CXX=clang++
        - CC=clang
    - name: Linux arm64 (clang)
      os: linux
      arch: arm64
      env:
        - CXX=clang++
        - CC=clang
    - name: Linux s390x (clang)
      os: linux
      arch: s390x
      env:
        - CXX=clang++
        - CC=clang
    - name: Linux ppc64le (clang)
      os: linux
      arch: ppc64le
      env:
        - CXX=clang++
        - CC=clang
  allow_failures:
    # Those builds frequently fail due to builds longer than maximum allowed.
    # Let them fail quietly.
    arch: ppc64le
before_install:
  - echo $TRAVIS_OS_NAME
  # macos
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./tools/macos-setup-brew.sh; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install softhsm; fi
  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then sed s/access_bpf/staff/ packaging/macosx/ChmodBPF/ChmodBPF | sudo bash; fi
  # linux
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ./tools/debian-setup.sh --install-optional --install-test-deps -q; fi
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y python3-pip; fi
  # all platforms
  - pip3 install pytest pytest-xdist
before_script:
  - mkdir build
  - cd build
  - cmake -GNinja ..
script:
  - ninja || travis_assert
  - ninja test-programs
  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo setcap cap_net_raw,cap_net_admin+eip run/dumpcap; fi
  - pytest
after_script:
  - if [ -f run/tshark ]; then run/tshark --version; fi
  - ../test/travis-upload-artifacts.sh