• 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    cpu: 1
12    memory: 2G
13    image_family: freebsd-13-3
14  env:
15    IGNORE_OSVERSION: yes
16    MATRIX_CC: clang17 gcc13
17  script:
18    - pkg install -qy git autoconf gcc13 llvm17
19    - pkg install -qy cmake-core # for build_matrix.sh and build.sh
20    - pkg install -qy pkgconf # for cmake, replaces pkg-config
21    - pkg install -qy sudo # for some tcpdump commands
22    - echo '$ git clone [...] libpcap.git'
23    - git -C .. clone --depth ${CIRRUS_CLONE_DEPTH} --branch=master --quiet ${LIBPCAP_GIT}
24    - ./build_matrix.sh
25
26linux_task:
27  name: linux-amd64
28  only_if: $CIRRUS_BRANCH != 'coverity_scan'
29  container:
30    # Linux works just fine with 1 GB. 16 CPUs max concurrency.
31    # The number of CPU cores must be either 1 or a multiple of 2.
32    cpu: 1
33    memory: 1G
34    image: ubuntu:22.04
35  env:
36    DEBIAN_FRONTEND: noninteractive
37    LANG: C
38  script:
39    - apt-get -qy update >/dev/null
40    - apt-get -qy install autoconf make gcc libpcap-dev >/dev/null # for "./configure"
41    - apt-get -qy install cmake git binutils-dev >/dev/null # for "make releasecheck"
42    - apt-get -qy install shellcheck >/dev/null
43    - ./autogen.sh
44    - ./configure --quiet # build the Makefile
45    - make releasecheck
46    - make whitespacecheck
47    - make shellcheck
48
49macos_task:
50  name: macos-aarch64
51  only_if: $CIRRUS_BRANCH != 'coverity_scan'
52  macos_instance:
53    image: ghcr.io/cirruslabs/macos-ventura-xcode:14.1 # macOS 13 with Xcode 14.1
54  env:
55    MAKEFLAGS: '-j 4'
56  script:
57    - brew update >/dev/null
58    - brew install libsmi | grep -v '%'
59    - echo '$ git clone [...] libpcap.git'
60    - git -C .. clone --depth ${CIRRUS_CLONE_DEPTH} --branch=master --quiet ${LIBPCAP_GIT}
61    - ./build_matrix.sh
62
63coverity_task:
64  name: Coverity Scan
65  only_if: $CIRRUS_BRANCH == 'coverity_scan'
66  container:
67    cpu: 1
68    memory: 2G
69    image: ubuntu:22.04
70  env:
71    DEBIAN_FRONTEND: noninteractive
72    MAKEFLAGS: -j 5
73    COVERITY_SCAN_PROJECT_NAME: $CIRRUS_REPO_FULL_NAME
74    COVERITY_SCAN_TOKEN: ENCRYPTED[1b6f994cabfe74267ce2dce81fd9e49f694e9cfe69fb99f7d1580907bec1266efd7b38df3a47ccab53d5af98636f8e9c]
75    COVERITY_SCAN_BUILD_COMMAND_PREPEND: ./configure --enable-instrument-functions --enable-smb
76    COVERITY_SCAN_BUILD_COMMAND: make
77  script:
78    - apt-get -qy update >/dev/null
79    - apt-get -qy install autoconf make gcc >/dev/null
80    - apt-get -qy install libssl-dev libsmi2-dev libcap-ng-dev libpcap-dev binutils-dev >/dev/null
81    - apt-get -qy install git curl wget ruby rubygems ruby-json >/dev/null # for the coverity script
82    - apt list --installed 'lib*-dev'
83    - ./autogen.sh
84    - ./.ci-coverity-scan-build.sh
85