forked from seladb/PcapPlusPlus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.cirrus.yml
106 lines (101 loc) · 3.31 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
task:
name: Test FreeBSD
freebsd_instance:
matrix:
image_family: freebsd-11-4
image_family: freebsd-12-2
update_script: IGNORE_OSVERSION=yes pkg update -f
install_script:
- pkg install -y libpcap bash gsed gmake
- python -m ensurepip
- python -m pip install -r Tests/ExamplesTest/requirements.txt
configure_script:
- ./configure-freebsd.sh --default
build_script:
- gmake all
test_script:
- cd Tests/Packet++Test && Bin/Packet++Test
- cd ../Pcap++Test && sudo Bin/Pcap++Test -n
- source ../../ci/find_ip_freebsd.sh
- cd ../ExamplesTest && python -m pytest --interface $NETWORK_IP
task:
name: Test Zstd Linux
container:
image: seladb/ubuntu1804-zstd:latest
configure_script:
- ./configure-linux.sh --use-zstd
- ldconfig
build_script:
- make all
test_script:
- cd Tests/Packet++Test && Bin/Packet++Test
- cd ../Pcap++Test && Bin/Pcap++Test -n
task:
name: Regression Tests Linux (Address Sanitizer)
container:
image: seladb/ubuntu1804:latest
configure_script:
- ./configure-fuzzing.sh --sanitizer address
- ldconfig
build_script:
- make fuzzers
test_script:
- cd Tests/Fuzzers/RegressionTests && ./run_tests.sh
task:
name: Regression Tests Linux (Undefined Behavior Sanitizer)
container:
image: seladb/ubuntu1804:latest
configure_script:
- ./configure-fuzzing.sh --sanitizer undefined
- ldconfig
build_script:
- make fuzzers
test_script:
- cd Tests/Fuzzers/RegressionTests && ./run_tests.sh
task:
name: Test Zstd MacOS
osx_instance:
image: catalina-xcode
configure_script:
- brew install zstd
- ./configure-mac_os_x.sh --use-zstd
build_script:
- make all
test_script:
- cd Tests/Packet++Test && Bin/Packet++Test
- cd ../Pcap++Test && Bin/Pcap++Test -n
task:
name: Build Doxygen Documentation
container:
image: seladb/ubuntu1804:latest
env:
- GITHUB_EMAIL: ENCRYPTED[ae4956ec74c9f329f7787cdfe3a6b5842870659275d0a9b513a0f6e64cd9c71cd2eb64219a9dc695f446fbd93c48fb04]
- GITHUB_TOKEN: ENCRYPTED[ab88249da2005c70f25f5910b08e907139f73bc0efb31a19b33f832e9e3bffe3cfc8e81932f21d7734c7aceca2a77188]
get_code_script:
- git clone https://github.com/PcapPlusPlus/pcapplusplus.github.io.git
- if [[ $CIRRUS_BRANCH = pull/* ]]; then
git clone -b $CIRRUS_BASE_BRANCH $CIRRUS_REPO_CLONE_URL;
else
git clone -b $CIRRUS_BRANCH $CIRRUS_REPO_CLONE_URL;
fi
configure_script:
- cd PcapPlusPlus
- ./configure-linux.sh --default
build_script:
- cd PcapPlusPlus
- make all
build_documentation_script:
- cd pcapplusplus.github.io/api-docs/doxygen
- doxygen Doxyfile-ci
upload_documentation_script: |
if [ "$CIRRUS_BRANCH" == "master" -a "$CIRRUS_REPO_OWNER" == "seladb" ]; then
find pcapplusplus.github.io/api-docs/ -maxdepth 1 -type f -exec rm {} \;
rm -rf pcapplusplus.github.io/api-docs/search/
mv pcapplusplus.github.io/api-docs/html/* pcapplusplus.github.io/api-docs/
cd pcapplusplus.github.io/api-docs/
git config user.name "seladb"
git config user.email "${GITHUB_EMAIL}"
git add .
git commit -m "Update API documentation for commit ${CIRRUS_CHANGE_IN_REPO}"
git push --quiet "https://${GITHUB_TOKEN}@github.com/PcapPlusPlus/pcapplusplus.github.io" master
fi