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
# This workflow will build a golang project | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go | |
name: "Merlin Agent DLL Build & Test - Development Work" | |
on: | |
push: | |
branches-ignore: | |
- main | |
paths-ignore: | |
- '.github/**' | |
- 'docs/**' | |
- '.gitattributes' | |
- '.gitignore' | |
- '.gitmodules' | |
- 'LICENSE' | |
- 'README.MD' | |
pull_request: | |
jobs: | |
build: | |
name: 'Build Job' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
id: checkout | |
uses: actions/checkout@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '1.21' | |
check-latest: true | |
- name: Install Mingw-w64 | |
id: install_mingw | |
run: sudo apt-get install gcc-mingw-w64-x86-64 | |
- name: 'Build Merlin Agent DLL' | |
id: build | |
run: 'make' | |
- name: Install 7zip | |
id: install_7zip | |
run: sudo apt-get install p7zip-full | |
- name: Package Release | |
id: package | |
run: make package | |
- name: GoVulnCheck | |
id: govulncheck | |
uses: golang/govulncheck-action@v1 | |
with: | |
go-version-input: '1.21' | |
go-package: './...' | |
- name: Gosec Security Scanner | |
id: gosec | |
uses: securego/gosec@master | |
with: | |
args: '-fmt sarif -out gosec.sarif ./...' | |
- name: Upload Gosec SARIF file | |
id: gosec_upload_sarif | |
uses: github/codeql-action/upload-sarif@v2 | |
with: | |
sarif_file: gosec.sarif | |
- name: Go Report Card - Install | |
id: goreportcard_install | |
working-directory: /tmp | |
run: | | |
git clone https://github.com/gojp/goreportcard.git | |
cd goreportcard | |
make install | |
go install ./cmd/goreportcard-cli | |
- name: Go Report Card - Run | |
id: goreportcard_run | |
run: 'goreportcard-cli -v' # This renames the files in the ./rpc directory to *.grc.bak causing builds to fail |