aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/build_no_x86_64.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build_no_x86_64.yml')
-rw-r--r--.github/workflows/build_no_x86_64.yml102
1 files changed, 102 insertions, 0 deletions
diff --git a/.github/workflows/build_no_x86_64.yml b/.github/workflows/build_no_x86_64.yml
new file mode 100644
index 000000000..af28c95a6
--- /dev/null
+++ b/.github/workflows/build_no_x86_64.yml
@@ -0,0 +1,102 @@
+name: Build No x86_64 archs
+on:
+ push:
+ branches:
+ - dev
+ pull_request:
+ branches:
+ - dev
+ types: [opened, synchronize, reopened]
+ release:
+ types: [created]
+jobs:
+
+ test:
+ name: Ubuntu ${{ matrix.arch }}
+ runs-on: ubuntu-latest
+ env:
+ CFLAGS: -Wextra -Werror -DNDPI_EXTENDED_SANITY_CHECKS
+ strategy:
+ fail-fast: true
+ matrix:
+ arch: ["arm64", "armhf", "s390x"]
+ steps:
+ - name: Setup multiarch/qemu-user-static
+ run: |
+ docker run --rm --privileged multiarch/qemu-user-static:register --reset
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
+ - name: Display qemu specified architecture (arm64 - little endian)
+ if: startsWith(matrix.arch, 'arm64')
+ uses: docker://multiarch/ubuntu-core:arm64-bionic
+ with:
+ args: >
+ bash -c
+ "uname -a &&
+ lscpu | grep Endian
+ "
+ - name: Configure, compile and test using qemu for the specified architecture (arm64 - little endian)
+ if: startsWith(matrix.arch, 'arm64')
+ uses: docker://multiarch/ubuntu-core:arm64-bionic
+ with:
+ args: >
+ bash -c
+ "apt-get -y update &&
+ apt-get -y install git wdiff colordiff autoconf automake libtool pkg-config gettext libjson-c-dev flex bison libpcap-dev rrdtool librrd-dev &&
+ git config --global --add safe.directory $(realpath .) &&
+ env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages &&
+ make -j $(nproc) all &&
+ make -C example ndpiSimpleIntegration &&
+ make -C rrdtool &&
+ make check VERBOSE=1
+ "
+ - name: Display qemu specified architecture (armhf - little endian)
+ if: startsWith(matrix.arch, 'armhf')
+ uses: docker://multiarch/ubuntu-core:armhf-bionic
+ with:
+ args: >
+ bash -c
+ "uname -a &&
+ lscpu | grep Endian
+ "
+ - name: Configure, compile and test using qemu for the specified architecture (armhf - little endian)
+ if: startsWith(matrix.arch, 'armhf')
+ uses: docker://multiarch/ubuntu-core:armhf-bionic
+ with:
+ args: >
+ bash -c
+ "apt-get -y update &&
+ apt-get -y install git wdiff colordiff autoconf automake libtool pkg-config gettext libjson-c-dev flex bison libpcap-dev rrdtool librrd-dev &&
+ git config --global --add safe.directory $(realpath .) &&
+ env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages &&
+ make -j $(nproc) all &&
+ make -C example ndpiSimpleIntegration &&
+ make -C rrdtool &&
+ make check VERBOSE=1
+ "
+ - name: Display qemu specified architecture (s390x - big endian)
+ if: startsWith(matrix.arch, 's390x')
+ uses: docker://multiarch/ubuntu-core:s390x-bionic
+ with:
+ args: >
+ bash -c
+ "uname -a &&
+ lscpu | grep Endian
+ "
+ - name: Configure and compile using qemu for the specified architecture (s390x - big endian)
+ if: startsWith(matrix.arch, 's390x')
+ uses: docker://multiarch/ubuntu-core:s390x-bionic
+ with:
+ args: >
+ bash -c
+ "apt-get -y update &&
+ apt-get -y install git wdiff colordiff autoconf automake libtool pkg-config gettext libjson-c-dev flex bison libpcap-dev rrdtool librrd-dev &&
+ git config --global --add safe.directory $(realpath .) &&
+ env CC=gcc CFLAGS='-Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages &&
+ make -j $(nproc) all &&
+ make -C example ndpiSimpleIntegration &&
+ make -C rrdtool &&
+ make check VERBOSE=1
+ "
+