Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

automated builds for linux, mac and windows wireshark plugins #170

Merged
merged 1 commit into from
Sep 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 112 additions & 0 deletions .github/workflows/ja4-wireshark-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
name: ja4-wireshark-release
on:
push:
branches: [main]
paths: [wireshark/*, wireshark/source/*, wireshark/build-scripts/*]
workflow_dispatch:

jobs:
wireshark-linux:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: build
run: cd wireshark/build-scripts && sudo apt update -y && sudo apt install ninja-build -y && sudo ./linux_build.sh 4.4.0
- name: rename artifact
run: cp ./wireshark/build-scripts/wireshark-4.4.0/build/run/plugins/4.4/epan/ja4.so ja4.so.linux
- name: upload-linux-ja4
uses: actions/upload-artifact@v4
with:
name: linux-ja4
path: ja4.so.linux

wireshark-macos:
runs-on: macOS-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: build
run: cd wireshark/build-scripts && ./macos_build.sh 4.4.0
- name: rename artifact
run: cp ./wireshark/build-scripts/wireshark-4.4.0/build/run/Wireshark.app/Contents/PlugIns/wireshark/4-4/epan/ja4.so ja4.so.macos
- name: upload-macos-ja4
uses: actions/upload-artifact@v4
with:
name: macos-ja4
path: ja4.so.macos

wireshark-windows:
runs-on: windows-2022
env:
PLATFORM: x64
WIRESHARK_BASE_DIR: C:\Development
CMAKE_PREFIX_PATH: D:\a\ja4\Qt\6.2.3\msvc2019_64
WIRESHARK_VERSION_EXTRA: -GithubActionBuild
steps:
- name: checkout
uses: actions/checkout@v4
- name: create wireshark directory
run: mkdir wireshark/build-scripts/wireshark
- name: checkout wireshark
uses: actions/checkout@v4
with:
repository: wireshark/wireshark
ref: release-4.4
path: wireshark/build-scripts/wireshark
- name: add ja4 plugin
run: copy -r wireshark/source wireshark/build-scripts/wireshark/plugins/epan/ja4
- name: Choco install dependencies
run: choco install -y asciidoctorj xsltproc docbook-bundle nsis winflexbison3 cmake
- name: Install strawberryperl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: '5.30'
distribution: strawberry
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
arch: win64_msvc2019_64
version: 6.2.3
modules: 'qt5compat'
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
with:
vs-version: 16.8
- name: Set MSVC command prompt
uses: ilammy/msvc-dev-cmd@v1
- name: Mkdir build directory and copy sources
run: mkdir wireshark/build-scripts/wireshark/build
- name: Cmake
run: cd wireshark/build-scripts/wireshark/build && cmake -DCUSTOM_PLUGIN_SRC_DIR=plugins/epan/ja4 -DCMAKE_SYSTEM_VERSION="10.0.20348.0" -A x64 ..
env:
PLATFORM: x64
WIRESHARK_BASE_DIR: C:/wireshark-libs
QT5_BASE_DIR: C:/Qt/5.12.3/msvc2017_64
working-directory: wireshark/build-scripts/wireshark/build
- name: Build
run: cmake --build . --config RelWithDebInfo
working-directory: wireshark/build-scripts/wireshark/build
- name: rename artifact
run: cp wireshark/build-scripts/wireshark/build/run/RelWithDebInfo/plugins/4.4/epan/ja4.dll ja4.dll
- name: upload-windows-ja4
uses: actions/upload-artifact@v4
with:
name: windows-ja4
path: ja4.dll

release-artifacts:
runs-on: ubuntu-latest
needs: [ wireshark-linux, wireshark-macos, wireshark-windows ]
steps:
- name: set env
run: echo "NOW=$(date +'%Y.%m.%d.%M')" >> $GITHUB_ENV
- name: download-artifacts
uses: actions/download-artifact@v4
- name: list files
run: ls -al
- name: release
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: gh release create ja4-wireshark-plugins-${{ env.NOW }} linux-ja4/ja4.so.linux macos-ja4/ja4.so.macos windows-ja4/ja4.dll
7 changes: 4 additions & 3 deletions wireshark/build-scripts/macos_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ if [ ! -d wireshark-$VER ]
cd wireshark-$VER
fi


rm -rf ./plugins/epan/ja4
cp -r ../../source ./plugins/epan/ja4

if [ ! -d build ]; then
mkdir build
fi

cd build && cmake -DCUSTOM_PLUGIN_SRC_DIR=plugins/epan/ja4 ../
cd build && cmake -DCUSTOM_PLUGIN_SRC_DIR=plugins/epan/ja4 -DBUILD_wireshark=off ../
echo 'building using make...'
make -j8

Expand All @@ -42,5 +42,6 @@ if [ ! -d ../../../../ja4-plugin ]; then
fi

cp `find . -name ja4.so` ../../../../ja4-plugin/
echo "Your JA4 Plugin is ready at `pwd`/../../../../ja4-plugin/ja4.so"
echo "Your JA4 Plugin is ready at" `find . -name ja4.so`