forked from the-tcpdump-group/tcpdump
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.cirrus.yml
91 lines (87 loc) · 3.25 KB
/
.cirrus.yml
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
85
86
87
88
89
90
91
env:
CIRRUS_CLONE_DEPTH: 3 # The internal git client reads CIRRUS_CLONE_DEPTH.
LIBPCAP_GIT: https://github.com/the-tcpdump-group/libpcap.git
freebsd_task:
name: freebsd-amd64
only_if: $CIRRUS_BRANCH != 'coverity_scan'
freebsd_instance:
# FreeBSD fails to start with 1 GB. 8 CPUs max concurrency.
# The number of CPU cores must be either 1 or a multiple of 2.
matrix:
- image_family: freebsd-12-3
cpu: 2
memory: 2G
- image_family: freebsd-13-1
cpu: 2
memory: 2G
env:
IGNORE_OSVERSION: yes
MAKEFLAGS: -j 3
MATRIX_CC: clang14 gcc12
script:
- pkg install -qy git autoconf gcc12 llvm14
- pkg install -qy cmake # for build_matrix.sh and build.sh
- pkg install -qy pkgconf # for cmake, replaces pkg-config
- pkg install -qy sudo # for some tcpdump commands
- echo '$ git clone [...] libpcap.git'
- git -C .. clone --depth ${CIRRUS_CLONE_DEPTH} --branch=master --quiet ${LIBPCAP_GIT}
- ./build_matrix.sh
linux_task:
name: linux-amd64
only_if: $CIRRUS_BRANCH != 'coverity_scan'
container:
# Linux works just fine with 1 GB. 16 CPUs max concurrency.
# The number of CPU cores must be either 1 or a multiple of 2.
cpu: 4
memory: 1G
image: ubuntu:22.04
env:
DEBIAN_FRONTEND: noninteractive
MAKEFLAGS: -j 5
script:
- apt-get -qy update >/dev/null
- apt-get -qy install git autoconf make cmake clang gcc bc >/dev/null
- apt-get -qy install flex bison libdbus-1-dev libbluetooth-dev libnl-genl-3-dev libibverbs-dev >/dev/null # for libpcap
- apt-get -qy install libssl-dev libsmi2-dev libcap-ng-dev libpcap-dev >/dev/null
- apt-get -qy install sudo >/dev/null # for some tcpdump commands
- apt list --installed 'lib*-dev'
- echo '$ git clone [...] libpcap.git'
- git -C .. clone --depth ${CIRRUS_CLONE_DEPTH} --branch=master --quiet ${LIBPCAP_GIT}
- ./configure --quiet # build the Makefile
- make releasecheck
- make whitespacecheck
- ./build_matrix.sh
macos_task:
name: macos-aarch64
only_if: $CIRRUS_BRANCH != 'coverity_scan'
macos_instance:
image: ghcr.io/cirruslabs/macos-ventura-xcode:14.1 # macOS 13 with Xcode 14.1
env:
MAKEFLAGS: '-j 4'
script:
- brew update >/dev/null
- brew install libsmi | grep -v '%'
- echo '$ git clone [...] libpcap.git'
- git -C .. clone --depth ${CIRRUS_CLONE_DEPTH} --branch=master --quiet ${LIBPCAP_GIT}
- ./build_matrix.sh
coverity_task:
name: Coverity Scan
only_if: $CIRRUS_BRANCH == 'coverity_scan'
container:
cpu: 4
memory: 2G
image: ubuntu:22.04
env:
DEBIAN_FRONTEND: noninteractive
MAKEFLAGS: -j 5
COVERITY_SCAN_PROJECT_NAME: $CIRRUS_REPO_FULL_NAME
COVERITY_SCAN_TOKEN: ENCRYPTED[1b6f994cabfe74267ce2dce81fd9e49f694e9cfe69fb99f7d1580907bec1266efd7b38df3a47ccab53d5af98636f8e9c]
COVERITY_SCAN_BUILD_COMMAND_PREPEND: ./configure
COVERITY_SCAN_BUILD_COMMAND: make
script:
- apt-get -qy update >/dev/null
- apt-get -qy install autoconf make gcc >/dev/null
- apt-get -qy install libssl-dev libsmi2-dev libcap-ng-dev libpcap-dev >/dev/null
- apt-get -qy install git curl wget ruby rubygems ruby-json >/dev/null # for the coverity script
- apt list --installed 'lib*-dev'
- ./.ci-coverity-scan-build.sh