Add unit testing steps to Linux and Windows build workflows #70
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: fastfinder_build_windows | |
| on: [push, pull_request] | |
| jobs: | |
| windows_standard-build: | |
| runs-on: windows-latest | |
| defaults: | |
| run: | |
| shell: msys2 {0} | |
| steps: | |
| - name: Install MSYS2 | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: MINGW64 | |
| path-type: inherit | |
| update: true | |
| install: >- | |
| mingw-w64-x86_64-gcc | |
| mingw-w64-x86_64-toolchain | |
| mingw-w64-x86_64-pkg-config | |
| base-devel | |
| autoconf | |
| automake | |
| libtool | |
| make | |
| unzip | |
| wget | |
| - name: Install YARA v4.5.5 | |
| run: | | |
| wget -c https://github.com/VirusTotal/yara/archive/refs/tags/v4.5.5.zip -O /tmp/yara.zip | |
| cd /tmp && unzip yara.zip | |
| cd /tmp/yara-4.5.5 | |
| ./bootstrap.sh | |
| ./configure --prefix=/mingw64 --enable-static --disable-shared | |
| make -j$(nproc) | |
| make install | |
| # Verify yara.pc installation | |
| ls -la /mingw64/lib/pkgconfig/yara.pc | |
| pkg-config --modversion yara | |
| - name: Set up Go | |
| uses: actions/setup-go@v2 | |
| with: | |
| go-version: 1.24 | |
| - uses: actions/checkout@v2 | |
| - name: Run Unit Tests | |
| run: | | |
| export PKG_CONFIG_PATH="/mingw64/lib/pkgconfig:$PKG_CONFIG_PATH" | |
| export CGO_CFLAGS="-I/mingw64/include" | |
| export CGO_LDFLAGS="-L/mingw64/lib" | |
| cd $GITHUB_WORKSPACE | |
| go test ./... -v | |
| - name: Building Fastfinder | |
| run: | | |
| export PKG_CONFIG_PATH="/mingw64/lib/pkgconfig:$PKG_CONFIG_PATH" | |
| export CGO_CFLAGS="-I/mingw64/include" | |
| export CGO_LDFLAGS="-L/mingw64/lib" | |
| export GOOS="windows" | |
| export GOARCH="amd64" | |
| cd $GITHUB_WORKSPACE | |
| go build -trimpath -tags yara_static -a -ldflags '-s -w -extldflags "-static"' . | |
| ls -la fastfinder.exe | |
| ./fastfinder.exe -h |