• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1env:
2  CIRRUS_CLONE_DEPTH: 3 # The internal git client reads CIRRUS_CLONE_DEPTH.
3  LIBPCAP_GIT: https://github.com/the-tcpdump-group/libpcap.git
4
5freebsd_task:
6  name: freebsd-amd64
7  only_if: $CIRRUS_BRANCH != 'coverity_scan'
8  freebsd_instance:
9    # FreeBSD fails to start with 1 GB. 8 CPUs max concurrency.
10    # The number of CPU cores must be either 1 or a multiple of 2.
11    matrix:
12      - image_family: freebsd-12-3
13        cpu: 2
14        memory: 2G
15      - image_family: freebsd-13-1
16        cpu: 2
17        memory: 2G
18  env:
19    IGNORE_OSVERSION: yes
20    MAKEFLAGS: -j 3
21    MATRIX_CC: clang14 gcc12
22  script:
23    - pkg install -qy git autoconf gcc12 llvm14
24    - pkg install -qy cmake # for build_matrix.sh and build.sh
25    - pkg install -qy pkgconf # for cmake, replaces pkg-config
26    - pkg install -qy sudo # for some tcpdump commands
27    - echo '$ git clone [...] libpcap.git'
28    - git -C .. clone --depth ${CIRRUS_CLONE_DEPTH} --branch=master --quiet ${LIBPCAP_GIT}
29    - ./build_matrix.sh
30
31linux_task:
32  name: linux-amd64
33  only_if: $CIRRUS_BRANCH != 'coverity_scan'
34  container:
35    # Linux works just fine with 1 GB. 16 CPUs max concurrency.
36    # The number of CPU cores must be either 1 or a multiple of 2.
37    cpu: 4
38    memory: 1G
39    image: ubuntu:22.04
40  env:
41    DEBIAN_FRONTEND: noninteractive
42    MAKEFLAGS: -j 5
43  script:
44    - apt-get -qy update >/dev/null
45    - apt-get -qy install git autoconf make cmake clang gcc bc >/dev/null
46    - apt-get -qy install flex bison libdbus-1-dev libbluetooth-dev libnl-genl-3-dev libibverbs-dev >/dev/null # for libpcap
47    - apt-get -qy install libssl-dev libsmi2-dev libcap-ng-dev libpcap-dev >/dev/null
48    - apt-get -qy install sudo >/dev/null # for some tcpdump commands
49    - apt list --installed 'lib*-dev'
50    - echo '$ git clone [...] libpcap.git'
51    - git -C .. clone --depth ${CIRRUS_CLONE_DEPTH} --branch=master --quiet ${LIBPCAP_GIT}
52    - ./configure --quiet # build the Makefile
53    - make releasecheck
54    - make whitespacecheck
55    - ./build_matrix.sh
56
57macos_task:
58  name: macos-aarch64
59  only_if: $CIRRUS_BRANCH != 'coverity_scan'
60  macos_instance:
61    image: ghcr.io/cirruslabs/macos-ventura-xcode:14.1 # macOS 13 with Xcode 14.1
62  env:
63    MAKEFLAGS: '-j 4'
64  script:
65    - brew update >/dev/null
66    - brew install libsmi | grep -v '%'
67    - echo '$ git clone [...] libpcap.git'
68    - git -C .. clone --depth ${CIRRUS_CLONE_DEPTH} --branch=master --quiet ${LIBPCAP_GIT}
69    - ./build_matrix.sh
70
71coverity_task:
72  name: Coverity Scan
73  only_if: $CIRRUS_BRANCH == 'coverity_scan'
74  container:
75    cpu: 4
76    memory: 2G
77    image: ubuntu:22.04
78  env:
79    DEBIAN_FRONTEND: noninteractive
80    MAKEFLAGS: -j 5
81    COVERITY_SCAN_PROJECT_NAME: $CIRRUS_REPO_FULL_NAME
82    COVERITY_SCAN_TOKEN: ENCRYPTED[1b6f994cabfe74267ce2dce81fd9e49f694e9cfe69fb99f7d1580907bec1266efd7b38df3a47ccab53d5af98636f8e9c]
83    COVERITY_SCAN_BUILD_COMMAND_PREPEND: ./configure
84    COVERITY_SCAN_BUILD_COMMAND: make
85  script:
86    - apt-get -qy update >/dev/null
87    - apt-get -qy install autoconf make gcc >/dev/null
88    - apt-get -qy install libssl-dev libsmi2-dev libcap-ng-dev libpcap-dev >/dev/null
89    - apt-get -qy install git curl wget ruby rubygems ruby-json >/dev/null # for the coverity script
90    - apt list --installed 'lib*-dev'
91    - ./.ci-coverity-scan-build.sh
92