Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CI: WIP
Browse files Browse the repository at this point in the history
IvanNardi committed May 17, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 33d3d25 commit 005e6c1
Showing 2 changed files with 100 additions and 2 deletions.
98 changes: 98 additions & 0 deletions .github/workflows/build_non_x86_64_arch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Build on non-x86_64 archs
on: [push, pull_request]

jobs:
build_job:
# The host should always be linux
runs-on: ubuntu-22.04
name: Build on ${{ matrix.distro }} ${{ matrix.arch }}
permissions:
packages: write

# Run steps on a matrix of 4 arch/distro combinations
strategy:
matrix:
include:
- arch: aarch64
distro: ubuntu22.04
- arch: armv7
distro: ubuntu22.04
- arch: s390x
distro: ubuntu22.04
steps:
- uses: actions/checkout@v4
- uses: uraimo/run-on-arch-action@v2
name: Build artifact
id: build
with:
arch: ${{ matrix.arch }}
distro: ${{ matrix.distro }}

# Not required, but speeds up builds
githubToken: ${{ github.token }}

# Create an artifacts directory
setup: |
mkdir -p "${PWD}/artifacts"
# Mount the artifacts directory as /artifacts in the container
dockerRunArgs: |
--volume "${PWD}/artifacts:/artifacts"
# Pass some environment variables to the container
env: | # YAML, but pipe character is necessary
artifact_name: git-${{ matrix.distro }}_${{ matrix.arch }}
# The shell to run commands with in the container
shell: /bin/bash

# Install some dependencies in the container. This speeds up builds if
# you are also using githubToken. Any dependencies installed here will
# be part of the container image that gets cached, so subsequent
# builds don't have to re-install them. The image layer is cached
# publicly in your project's package repository, so it is vital that
# no secrets are present in the container state or logs.
install: |
case "${{ matrix.distro }}" in
ubuntu*|jessie|stretch|buster|bullseye)
apt-get update -q -y
apt-get install -q -y make git wdiff colordiff autoconf automake libtool pkg-config gettext libjson-c-dev flex bison libpcap-dev rrdtool librrd-dev parallel
env_parallel --install
;;
fedora*)
dnf -y update
#TODO
;;
alpine*)
apk update
#TODO
;;
esac
# Produce a binary artifact and place it in the mounted volume
run: |
lscpu | grep Endian
lscpu | grep Architecture
echo $SHELL
ls -al /bin/bash
source /root/.bashrc
parallel --version
env_parallel
env_parallel --install
/bin/bash env_parallel
#bash --version
#cat /root/.bashrc
#git config --global --add safe.directory $(realpath .)
#NDPI_CFLAGS='-Wextra -Werror' ./autogen.sh --enable-option-checking=fatal --enable-debug-messages --enable-tls-sigs
#make -j $(nproc) all
#make -C example ndpiSimpleIntegration
#make -C rrdtool
#NDPI_FORCE_PARALLEL_UTESTS=1 NDPI_SKIP_PARALLEL_BAR=1 ./tests/do.sh
#./tests/do-unit.sh
#./tests/do-dga.sh
- name: Show the artifact
# Items placed in /artifacts in the container will be in
# ${PWD}/artifacts on the host.
run: |
ls -al "${PWD}/artifacts"
4 changes: 2 additions & 2 deletions tests/do.sh.in
Original file line number Diff line number Diff line change
@@ -78,6 +78,7 @@ if [ $FORCE_PARALLEL_UTESTS -eq 1 ]; then
echo "$0: Try something like `apt install parallel`"
exit 1
fi
#source `which env_parallel.bash`
fi

if [ ${GPROF_ENABLED} -eq 1 ]; then
@@ -184,11 +185,10 @@ run_single_pcap()

return 1
}
export -f run_single_pcap

check_results() {
if [ $FORCE_PARALLEL_UTESTS -eq 1 ]; then
parallel --bar --tag "run_single_pcap" ::: $PCAPS
env_parallel --bar --tag run_single_pcap ::: $PCAPS
RET=$? #Number of failed job up to 100
RC=$(( RC + $RET ))
else

0 comments on commit 005e6c1

Please sign in to comment.