aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2024-06-05 11:56:03 +0200
committerGitHub <noreply@github.com>2024-06-05 11:56:03 +0200
commit6a9d4b1ab64d85d6070205f7bc00c1d14b88de11 (patch)
treef5b958cd2aee73ee1f32eb5952a52fa1055f9cd7 /.github/workflows
parent7be482f5b153530315232f721ef2bcab581256ef (diff)
CI: more parallel work (#2459)
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml34
-rw-r--r--.github/workflows/build_scheduled.yml6
-rw-r--r--.github/workflows/codeql.yml2
3 files changed, 10 insertions, 32 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3cd63fcee..e35e9841e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -30,7 +30,7 @@ jobs:
- name: Build nDPI library
run: |
./autogen.sh
- make
+ make -j
sudo make install
- name: Generate Python bindings
run: |
@@ -271,29 +271,7 @@ jobs:
with:
msystem: MINGW64
update: true
- install: git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool make mingw-w64-x86_64-json-c mingw-w64-x86_64-crt-git mingw-w64-x86_64-pcre mingw-w64-x86_64-libpcap
- - name: Setup Windows msys2 prerequisites (libgcrypt)
- if: startsWith(matrix.os, 'windows') && startsWith(matrix.gcrypt, '--with-local-libgcrypt')
- run: |
- msys2 -c 'git clone --branch libgpg-error-1.42 https://github.com/gpg/libgpg-error'
- cd libgpg-error
- msys2 -c './autogen.sh'
- msys2 -c './configure -enable-maintainer-mode --enable-static --enable-shared --with-pic --disable-doc --disable-nls'
- msys2 -c 'make'
- msys2 -c 'make install'
- msys2 -c 'cd ..'
- msys2 -c 'rm -rf libgpg-error/'
- msys2 -c 'git clone --branch libgcrypt-1.8.8 https://github.com/gpg/libgcrypt'
- cd libgcrypt
- msys2 -c './autogen.sh'
- msys2 -c './configure -enable-maintainer-mode --enable-static --enable-shared --with-pic --disable-doc'
- msys2 -c 'make'
- msys2 -c 'make install'
- msys2 -c 'cd ..'
- msys2 -c 'rm -rf libgcrypt/'
- env:
- CC:
- CFLAGS:
+ install: git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool make mingw-w64-x86_64-json-c mingw-w64-x86_64-crt-git mingw-w64-x86_64-pcre mingw-w64-x86_64-libpcap mingw-w64-x86_64-libgcrypt parallel
- name: Installing MacOS prerequisites
if: startsWith(matrix.os, 'macOS') && startsWith(matrix.arch, 'x86_64')
run: |
@@ -330,7 +308,7 @@ jobs:
- name: Build nDPI on Windows msys2
if: startsWith(matrix.os, 'windows') && startsWith(matrix.arch, 'x86_64') && startsWith(matrix.compiler, 'cc')
run: |
- msys2 -c 'make all'
+ msys2 -c 'make -j all'
msys2 -c 'ldd ./example/ndpiReader.exe'
- name: Build nDPI
if: startsWith(matrix.arch, 'x86_64') && !startsWith(matrix.os, 'windows') && !startsWith(matrix.os, 'macos-14')
@@ -341,7 +319,7 @@ jobs:
- name: Build nDPI (MacOS M1)
if: startsWith(matrix.os, 'macos-14')
run: |
- make all
+ make -j all
make -C example ndpiSimpleIntegration
#There are somes issues with librrd
#make -C rrdtool
@@ -376,7 +354,7 @@ jobs:
- name: Test nDPI [DIFF] (runs only on windows jobs)
if: startsWith(matrix.arch, 'x86_64') && startsWith(matrix.os, 'windows')
run: |
- msys2 -c './tests/do.sh'
+ msys2 -c 'NDPI_FORCE_PARALLEL_UTESTS=1 NDPI_SKIP_PARALLEL_BAR=1 ./tests/do.sh'
- name: Test nDPI [UNIT] (runs only on windows jobs)
if: startsWith(matrix.arch, 'x86_64') && startsWith(matrix.os, 'windows')
run: |
@@ -395,7 +373,7 @@ jobs:
run: |
make distclean
./autogen.sh --enable-option-checking=fatal --enable-debug-messages --enable-tls-sigs --host=x86_64-w64-mingw32
- make all
+ make -j $(nproc) all
env:
CC:
- name: Display qemu specified architecture (arm64 - little endian)
diff --git a/.github/workflows/build_scheduled.yml b/.github/workflows/build_scheduled.yml
index b1ca40d9c..962da9715 100644
--- a/.github/workflows/build_scheduled.yml
+++ b/.github/workflows/build_scheduled.yml
@@ -84,7 +84,7 @@ jobs:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install libunwind-dev
- sudo apt-get install autoconf automake libtool pkg-config gettext flex bison libpcap-dev
+ sudo apt-get install autoconf automake libtool pkg-config gettext flex bison libpcap-dev parallel
sudo apt-get install golang-1.16-go libgoogle-perftools-dev graphviz
go install github.com/google/pprof@latest
sudo ln -s ${HOME}/go/bin/pprof /usr/bin/pprof
@@ -94,10 +94,10 @@ jobs:
./autogen.sh --enable-gprof --enable-option-checking=fatal --with-pcre2 --with-maxminddb --enable-tls-sigs
- name: Build nDPI library
run: |
- make
+ make -j
- name: Performance Profiling
run: |
- ./tests/do.sh
+ NDPI_FORCE_PARALLEL_UTESTS=1 NDPI_SKIP_PARALLEL_BAR=1 ./tests/do.sh
mkdir ndpi-performance-upload
for d in $(find ./tests/cfgs/* -type d -maxdepth 0 2>/dev/null) ; do
PROFILE="$(basename $d)"
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index d62d471b5..b51e516e2 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -51,7 +51,7 @@ jobs:
- name: Build nDPI library
run: |
- make
+ make -j
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3