Skip to content

fixes #2961 caTrustFile not working with multies (#2962) #27

fixes #2961 caTrustFile not working with multies (#2962)

fixes #2961 caTrustFile not working with multies (#2962) #27

Workflow file for this run

name: "build-arm"
on:
push:
branches: [ "main" ]
paths-ignore:
- '*.md'
- '.*'
# pull_request:
# branches: [ "main" ]
permissions:
contents: read
jobs:
build:
permissions:
contents: write
concurrency:
group: ${{ github.workflow }}-${{ matrix.version }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
version: [al2023, ubuntu2204, ubuntu2404, debian12, el9]
include:
- version: al2023
container: andywick/arkime-build-al2023-arm64:5.0.0-3
buildopt: "--kafka"
fpmdeps: "-d perl-libwww-perl -d perl-JSON -d ethtool -d libyaml -d perl-LWP-Protocol-https"
package: rpm
ja4plus: true
- version: ubuntu2204
container: andywick/arkime-build-22-arm64:5.0.0-3
buildopt: "--nothirdparty --kafka"
fpmdeps: "-d libwww-perl -d libjson-perl -d ethtool -d libyaml-dev -d liblua5.4-0 -d libmaxminddb0 -d libcurl4 -d libpcap0.8 -d libglib2.0-0 -d libnghttp2-14 -d libyara8 -d librdkafka1"
package: deb
- version: ubuntu2404
container: andywick/arkime-build-24-arm64:5.0.0-3
buildopt: "--nothirdparty --kafka"
fpmdeps: "-d libwww-perl -d libjson-perl -d ethtool -d libyaml-dev -d liblua5.4-0 -d libmaxminddb0 -d libcurl4 -d libpcap0.8 -d libglib2.0-0 -d libnghttp2-14 -d libyara10 -d librdkafka1 -d libpcre3"
package: deb
- version: debian12
container: andywick/arkime-build-d12-arm64:5.0.0-3
buildopt: "--nothirdparty --kafka"
fpmdeps: "-d libwww-perl -d libjson-perl -d ethtool -d libyaml-dev -d liblua5.4-0 -d libmaxminddb0 -d libcurl4 -d libpcap0.8 -d libglib2.0-0 -d libnghttp2-14 -d libyara9 -d librdkafka1 -d libpcre3"
package: deb
- version: el9
container: andywick/arkime-build-9-arm64:5.0.0-6
buildopt: "--kafka"
fpmdeps: "-d perl-libwww-perl -d perl-JSON -d ethtool -d libyaml -d perl-LWP-Protocol-https"
package: rpm
############# CHANGE version: array above when adding new versions #############
runs-on: buildjet-2vcpu-ubuntu-2204-arm
container:
image: ${{ matrix.container }}
steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- name: thirdparty
run: |
if [ -d "/thirdparty" ]; then
ln -s /thirdparty .
fi
git config --global --add safe.directory `pwd`
- name: build and install
run: |
echo "ALW ${{ github.run_id }} ${{ github.run_number }} ${{ github.run_attempt }}"
./easybutton-build.sh ${{ matrix.buildopt }} --rminstall
export PATH=/opt/arkime/bin:$PATH
make install
- name: lint
run: |
export PATH=/opt/arkime/bin:$PATH
npm run lint
cp -r capture/plugins/lua/samples /opt/arkime/lua
- name: capture tests
run: |
(cd tests; ./tests.pl)
- name: package arch
if: ${{ matrix.package == 'arch' }}
run: |
gem install --no-document fpm rexml erb
export ARKIME_VERSION=`sed 's/.*"\(.*\)\".*$/\1/' /opt/arkime/common/version.js | head -n 1`
/root/.local/share/gem/ruby/3.2.0/bin/fpm -s dir -t pacman -n arkime -x opt/arkime/logs -x opt/arkime/raw -v $ARKIME_VERSION --iteration ${{ github.run_id }} --template-scripts --after-install "release/afterinstall.sh" --url "https://arkime.com" --description "Arkime Full Packet System" ${{ matrix.fpmdeps }} -p arkime-${ARKIME_VERSION}-${{github.run_id}}_${{matrix.version}}-aarch64.pkg.tar.zst /opt/arkime
ls -l *.zst
mv *.zst arkime-main.${{matrix.version}}.aarch64.pkg.tar.zst
- name: package rpm
if: ${{ matrix.package == 'rpm' }}
run: |
export ARKIME_VERSION=`sed 's/.*"\(.*\)\".*$/\1/' /opt/arkime/common/version.js | head -n 1 | tr "-" "_"`
fpm -s dir -t rpm --rpm-digest sha256 -n arkime -x opt/arkime/logs -x opt/arkime/raw -v $ARKIME_VERSION --iteration ${{ github.run_id }} --template-scripts --after-install "release/afterinstall.sh" --url "https://arkime.com" --description "Arkime Full Packet System" ${{ matrix.fpmdeps }} --rpm-rpmbuild-define "_build_id_links none" -p arkime-${ARKIME_VERSION}-${{github.run_id}}.${{matrix.version}}.aarch64.rpm /opt/arkime
ls -l *.rpm
mv *.aarch64.rpm arkime-main.${{matrix.version}}.aarch64.rpm
- name: package deb
if: ${{ matrix.package == 'deb' }}
run: |
export ARKIME_VERSION=`sed 's/.*"\(.*\)\".*$/\1/' /opt/arkime/common/version.js | head -n 1`
fpm -s dir -t deb -n arkime -x opt/arkime/logs -x opt/arkime/raw -v $ARKIME_VERSION --iteration ${{ github.run_id }} --template-scripts --after-install "release/afterinstall.sh" --url "https://arkime.com" --description "Arkime Full Packet System" ${{ matrix.fpmdeps }} -p arkime_${ARKIME_VERSION}-${{github.run_id}}.${{matrix.version}}_arm64.deb /opt/arkime
ls -l *.deb
mv *.deb arkime-main_${{matrix.version}}_arm64.deb
- name: ja4plus
if: ${{ matrix.ja4plus }}
run: |
(cd .. ; git clone https://github.com/arkime/ja4)
cp ../ja4/ja4plus.c capture/plugins
(cd capture/plugins; make)
mv capture/plugins/ja4plus.so ja4plus.arm64.so
rm -f capture/plugins/ja4plus.c
- name: upload github
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: softprops/[email protected]
with:
tag_name: last-commit
draft: false
prerelease: true
generate_release_notes: false
files: |
*.deb
*.so
*.rpm
*.zst
slack:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- name: send
env:
SLACK_URL: ${{ secrets.SLACK_URL }}
run: |
echo "Sending msg"
export ARKIME_VERSION=`grep AC_INIT configure.ac | sed "s/.*\[\(.*\)\].*$/\1/"`
echo ARKIME_VERSION: $ARKIME_VERSION
MSG=`git log -1 --format=%s`
BODY="{\"icon_emoji\": \":sushi:\", \"username\": \"GitAction\", \"text\":\"ARM worked: $GIT_BRANCH - arkime-$ARKIME_VERSION-$SD_BUILD_ID - $MSG\"}"
curl -XPOST -H "Content-type: application/json" --data "$BODY" $SLACK_URL