Migrate from go-yara to yara-x; improve performance and readability #2285
Workflow file for this run
This file contains 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
# Copyright 2024 Chainguard, Inc. | |
# SPDX-License-Identifier: Apache-2.0 | |
name: Go Tests | |
on: | |
push: | |
branches: | |
- "main" | |
pull_request: | |
branches: | |
- "main" | |
permissions: | |
contents: read | |
jobs: | |
test: | |
runs-on: mal-ubuntu-latest-8-core | |
container: cgr.dev/chainguard/wolfi-base:latest | |
# env: | |
# PKG_CONFIG_PATH: ${{ github.workspace }} | |
# LD_LIBRARY_PATH: ${{ github.workspace }} | |
steps: | |
# - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 | |
# with: | |
# egress-policy: audit | |
- name: Install dependencies | |
run: | | |
apk update | |
apk add curl findutils git go nodejs xz yara-x-compat | |
- name: Checkout code | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Fix workspace permissions | |
run: | | |
chown -R $(whoami) /home/runner/work/ | |
# - uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0 | |
# with: | |
# go-version-file: go.mod | |
# check-latest: true | |
# - uses: chainguard-dev/actions/goimports@9d943fc9889a0c0795e3c2bd4b949a9b610ac02e # main | |
# - name: install dependencies | |
# run: | | |
# sudo apt update && sudo apt install xz-utils -y | |
# - name: Clone yara-x | |
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
# with: | |
# repository: VirusTotal/yara-x | |
# path: yara-x | |
# - name: Setup Rust | |
# uses: dtolnay/rust-toolchain@315e265cd78dad1e1dcf3a5074f6d6c47029d5aa # ??? | |
# with: | |
# toolchain: stable | |
# - name: Install yara-x-capi | |
# run: | | |
# cd ${{ github.workspace }}/yara-x | |
# cargo install cargo-c | |
# cargo cinstall -p yara-x-capi --release --destdir /tmp/yara-x | |
# sudo mkdir -p /usr/local/lib | |
# sudo mkdir -p /usr/local/include | |
# sudo cp /tmp/yara-x/usr/local/include/yara_x.h /usr/local/include/ | |
# sudo cp -a /tmp/yara-x/usr/local/lib/x86_64-linux-gnu/* /usr/local/lib/ | |
# sudo ldconfig -v | |
# cd ${{ github.workspace }} | |
# - name: golangci-lint | |
# uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1 | |
# with: | |
# version: v1.62.0 | |
# args: --timeout=5m | |
- name: Run golangci-lint | |
run: | | |
make golangci-lint-lint | |
- name: Unit tests | |
run: | | |
make test | |
- name: Integration tests | |
run: | | |
make integration |