Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 268962e

Browse files
Updated GH Unix build configurations
- Added support to build 32-bit versions of libModSecurity on Linux - Added support to build libModSecurity using clang on Linux (both 64-bit and 32-bit versions) - Fixed macOS dependencies to include yajl, not only because it is a required dependency, but because tests were not being run on macOS builds without it. - Added build without libxml to Linux & macOS configurations. - Added build without ssdeep to Linux configurations (already in macOS configuration) - Removed 'without yajl' build because it's a required 3rd party dependency. - Removed unused bison dependency on macOS builds..
1 parent 108c0d3 commit 268962e

File tree

1 file changed

+44
-17
lines changed

1 file changed

+44
-17
lines changed

‎.github/workflows/ci.yml‎

Lines changed: 44 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,64 +6,89 @@ on:
66

77
jobs:
88
build-linux:
9+
name: Linux (${{ matrix.platform.label }}, ${{ matrix.compiler.label }}, ${{ matrix.configure.label }})
910
runs-on: ${{ matrix.os }}
1011
strategy:
1112
matrix:
1213
os: [ubuntu-22.04]
13-
platform: [x32, x64]
14-
compiler: [gcc, clang]
14+
platform:
15+
- {label: "x64", arch: "amd64", configure: ""}
16+
- {label: "x32", arch: "i386", configure: "PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32"}
17+
compiler:
18+
- {label: "gcc", cc: "gcc", cxx: "g++"}
19+
- {label: "clang", cc: "clang", cxx: "clang++"}
1520
configure:
1621
- {label: "with parser generation", opt: "--enable-parser-generation" }
1722
- {label: "wo curl", opt: "--without-curl" }
18-
- {label: "wo yajl", opt: "--without-yajl" }
1923
- {label: "wo geoip", opt: "--without-geoip" }
2024
- {label: "wo lmdb", opt: "--without-lmdb" }
21-
- {label: "with pcre2", opt: "--with-pcre2" }
25+
- {label: "wo libxml", opt: "--without-libxml" }
26+
- {label: "wo ssdeep", opt: "--without-ssdeep" }
2227
- {label: "wo lua", opt: "--without-lua" }
23-
- {label: "without maxmind", opt: "--without-maxmind" }
28+
- {label: "wo maxmind", opt: "--without-maxmind" }
29+
- {label: "with pcre2", opt: "--with-pcre2" }
30+
exclude:
31+
- platform: {label: "x32"}
32+
configure: {label: "wo geoip"}
33+
- platform: {label: "x32"}
34+
configure: {label: "wo ssdeep"}
2435
steps:
25-
- name: Setup Dependencies
36+
- name: Setup Dependencies (common)
2637
run: |
38+
sudo dpkg --add-architecture ${{ matrix.platform.arch }}
2739
sudo apt-get update -y -qq
28-
sudo apt-get install -y libfuzzy-dev libyajl-dev libgeoip-dev liblua5.2-dev liblmdb-dev libmaxminddb-dev libcurl4-openssl-dev libpcre2-dev pcre2-utils
40+
sudo apt-get install -y libyajl-dev:${{ matrix.platform.arch }} liblua5.2-dev:${{ matrix.platform.arch }} liblmdb-dev:${{ matrix.platform.arch }} libmaxminddb-dev:${{ matrix.platform.arch }} libcurl4-openssl-dev:${{ matrix.platform.arch }} libpcre2-dev:${{ matrix.platform.arch }} pcre2-utils:${{ matrix.platform.arch }}
41+
- name: Setup Dependencies (x32)
42+
if: ${{ matrix.platform.label == 'x32' }}
43+
run: |
44+
sudo apt-get install g++-multilib
45+
sudo apt-get install -y libxml2-dev:${{ matrix.platform.arch }} libpcre3-dev:${{ matrix.platform.arch }}
46+
- name: Setup Dependencies (x64)
47+
if: ${{ matrix.platform.label == 'x64' }}
48+
run: |
49+
sudo apt-get install -y libfuzzy-dev:${{ matrix.platform.arch }} libgeoip-dev:${{ matrix.platform.arch }}
2950
- uses: actions/checkout@v4
3051
with:
3152
submodules: true
3253
- name: build.sh
3354
run: ./build.sh
34-
- name: configure ${{ matrix.configure.label }}
35-
run: ./configure ${{ matrix.configure.opt }}
55+
- name: configure
56+
env:
57+
CC: ${{ matrix.compiler.cc }}
58+
CXX: ${{ matrix.compiler.cxx }}
59+
run: ./configure ${{ matrix.platform.configure }} ${{ matrix.configure.opt }}
3660
- uses: ammaraskar/gcc-problem-matcher@master
3761
- name: make
3862
run: make -j `nproc`
3963
- name: check
4064
run: make check
4165

4266
build-macos:
67+
name: macOS (${{ matrix.configure.label }})
4368
runs-on: ${{ matrix.os }}
4469
strategy:
4570
matrix:
4671
os: [macos-12]
47-
compiler: [clang]
4872
configure:
4973
- {label: "with parser generation", opt: "--enable-parser-generation" }
5074
- {label: "wo curl", opt: "--without-curl" }
51-
- {label: "wo yajl", opt: "--without-yajl" }
5275
- {label: "wo geoip", opt: "--without-geoip" }
5376
- {label: "wo lmdb", opt: "--without-lmdb" }
77+
- {label: "wo libxml", opt: "--without-libxml" }
5478
- {label: "wo ssdeep", opt: "--without-ssdeep" }
5579
- {label: "wo lua", opt: "--without-lua" }
5680
- {label: "wo maxmind", opt: "--without-maxmind" }
81+
- {label: "with pcre2", opt: "--with-pcre2" }
5782
steps:
5883
- name: Setup Dependencies
5984
run: |
60-
brew install autoconf automake cppcheck lmdb libyaml lua ssdeep libmaxminddb bison
85+
brew install autoconf automake yajl curl geoip lmdb libxml2 ssdeep lua libmaxminddb pcre pcre2
6186
- uses: actions/checkout@v4
6287
with:
6388
submodules: true
6489
- name: build.sh
6590
run: ./build.sh
66-
- name: configure ${{ matrix.configure.label }}
91+
- name: configure
6792
run: ./configure ${{ matrix.configure.opt }}
6893
- uses: ammaraskar/gcc-problem-matcher@master
6994
- name: make
@@ -72,11 +97,13 @@ jobs:
7297
run: make check
7398

7499
build-windows:
100+
name: Windows (${{ matrix.platform.label }}, ${{ matrix.configure.label }})
75101
runs-on: ${{ matrix.os }}
76102
strategy:
77103
matrix:
78104
os: [windows-2022]
79-
platform: [x86_64]
105+
platform:
106+
- {label: "x64", arch: "x86_64"}
80107
configuration: [Release]
81108
configure:
82109
- {label: "full", opt: "" }
@@ -94,9 +121,9 @@ jobs:
94121
pip3 install conan --upgrade
95122
conan profile detect
96123
- uses: ammaraskar/msvc-problem-matcher@master
97-
- name: Build ${{ matrix.configuration }} ${{ matrix.platform }} ${{ matrix.configure.label }}
124+
- name: Build ${{ matrix.configuration }} ${{ matrix.platform.arch }} ${{ matrix.configure.label }}
98125
shell: cmd
99-
run: vcbuild.bat ${{ matrix.configuration }} ${{ matrix.platform }} NO_ASAN "${{ matrix.configure.opt }}"
126+
run: vcbuild.bat ${{ matrix.configuration }} ${{ matrix.platform.arch }} NO_ASAN "${{ matrix.configure.opt }}"
100127
- name: Set up test environment
101128
working-directory: build\win32\build\${{ matrix.configuration }}
102129
env:
@@ -140,4 +167,4 @@ jobs:
140167
./build.sh
141168
./configure
142169
- name: Run cppcheck on libModSecurity
143-
run: make check-static
170+
run: make check-static

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /