Skip to content

Commit f948d63

Browse files
committed
Having the QA on GitHub workflow
1 parent e6bdade commit f948d63

File tree

2 files changed

+79
-2
lines changed

2 files changed

+79
-2
lines changed

.github/workflows/ci.yml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Quality Assurance
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
build-linux:
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
matrix:
12+
os: [ubuntu-20.04]
13+
platform: [x32, x64]
14+
compiler: [gcc, clang]
15+
configure:
16+
- {label: "with parser generation", opt: "--enable-parser-generation" }
17+
- {label: "without curl", opt: "--without-curl" }
18+
- {label: "without yajl", opt: "--without-yajl" }
19+
- {label: "without geoip", opt: "--without-geoip" }
20+
- {label: "without lmdb", opt: "--without-lmdb" }
21+
- {label: "without ssdeep", opt: "--without-ssdeep" }
22+
- {label: "without lua", opt: "--without-lua" }
23+
- {label: "without maxmind", opt: "--without-maxmind" }
24+
steps:
25+
- name: Setup Dependencies
26+
run: |
27+
sudo add-apt-repository --yes ppa:maxmind/ppa
28+
sudo apt-get update -y -qq
29+
sudo apt-get install -y libfuzzy-dev libyajl-dev libgeoip-dev liblua5.2-dev liblmdb-dev cppcheck libmaxminddb-dev libcurl4-openssl-dev
30+
- uses: actions/checkout@v2
31+
with:
32+
submodules: true
33+
- name: build.sh
34+
run: ./build.sh
35+
- name: configure ${{ matrix.configure.label }}
36+
run: ./configure ${{ matrix.configure.opt }}
37+
- uses: ammaraskar/gcc-problem-matcher@master
38+
- name: make
39+
run: make -j `nproc`
40+
- name: check
41+
run: make check
42+
- name: check-static
43+
run: make check-static
44+
45+
build-macos:
46+
runs-on: ${{ matrix.os }}
47+
strategy:
48+
matrix:
49+
os: [macos-10.15, macos-11.0]
50+
compiler: [gcc, clang]
51+
configure:
52+
- {label: "with parser generation", opt: "--enable-parser-generation" }
53+
- {label: "without curl", opt: "--without-curl" }
54+
- {label: "without yajl", opt: "--without-yajl" }
55+
- {label: "without geoip", opt: "--without-geoip" }
56+
- {label: "without lmdb", opt: "--without-lmdb" }
57+
- {label: "without ssdeep", opt: "--without-ssdeep" }
58+
- {label: "without lua", opt: "--without-lua" }
59+
- {label: "without maxmind", opt: "--without-maxmind" }
60+
steps:
61+
- name: Setup Dependencies
62+
run: |
63+
brew install autoconf automake cppcheck lmdb libyaml lua ssdeep libmaxminddb
64+
- uses: actions/checkout@v2
65+
with:
66+
submodules: true
67+
- name: build.sh
68+
run: ./build.sh
69+
- name: configure ${{ matrix.configure.label }}
70+
run: ./configure ${{ matrix.configure.opt }}
71+
- uses: ammaraskar/gcc-problem-matcher@master
72+
- name: make
73+
run: make -j `nproc`
74+
- name: check
75+
run: make check
76+
- name: check-static
77+
run: make check-static

test/cppcheck_suppressions.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@ functionStatic:src/engine/lua.h:71
4444
functionConst:src/utils/geo_lookup.h:49
4545
useInitializationList:src/operators/rbl.h:69
4646
constStatement:test/common/modsecurity_test.cc:82
47-
danglingTemporaryLifetime:src/modsecurity.cc:204
47+
danglingTemporaryLifetime:src/modsecurity.cc:206
4848
functionStatic:src/operators/geo_lookup.h:35
4949
duplicateBreak:src/operators/validate_utf8_encoding.cc
5050
duplicateBranch:src/request_body_processor/multipart.cc:91
5151
syntaxError:src/transaction.cc:62
5252
noConstructor:src/variables/variable.h:152
5353
duplicateBranch:src/request_body_processor/multipart.cc:93
54-
danglingTempReference:src/modsecurity.cc:204
54+
danglingTempReference:src/modsecurity.cc:206
5555
knownConditionTrueFalse:src/operators/validate_url_encoding.cc:77
5656
knownConditionTrueFalse:src/operators/verify_svnr.cc:87
5757

0 commit comments

Comments
 (0)