build: bump to version 2.9.0 #47
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
name: v2 | |
on: | |
push: | |
tags: | |
- v2* | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
profile: minimal | |
override: true | |
target: x86_64-unknown-linux-gnu | |
- name: Create artifacts directory | |
run: mkdir chainsaw | |
- name: Build | |
run: cargo build --all --release --target x86_64-unknown-linux-gnu && strip target/x86_64-unknown-linux-gnu/release/chainsaw | |
- name: Upload binary artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: linux-binary | |
path: target/x86_64-unknown-linux-gnu/release/chainsaw | |
if-no-files-found: error | |
retention-days: 1 | |
- name: Move files to artifacts | |
run: mv target/x86_64-unknown-linux-gnu/release/chainsaw mappings LICENCE README.md chainsaw/ | |
- name: Create ZIP File | |
run: tar -czf chainsaw_x86_64-unknown-linux-gnu.tar.gz chainsaw/* | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: chainsaw_x86_64-unknown-linux-gnu.tar.gz | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build-win: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install latest rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
default: true | |
override: true | |
- name: Build | |
run: cargo build --all --release | |
- name: Upload binary artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: win-binary | |
path: target/release/chainsaw.exe | |
if-no-files-found: error | |
retention-days: 1 | |
- name: Create artifacts directory | |
run: mkdir chainsaw | |
- name: Move files to artifacts | |
run: move target/release/chainsaw.exe chainsaw/ ; move chainsaw/ ; move mappings chainsaw; move LICENCE chainsaw; move README.md chainsaw/ | |
- name: Create ZIP File | |
shell: pwsh | |
run: Compress-Archive -Path .\chainsaw\ -Destination chainsaw_x86_64-pc-windows-msvc.zip | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: chainsaw_x86_64-pc-windows-msvc.zip | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build-mac: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install latest rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
target: x86_64-apple-darwin | |
default: true | |
override: true | |
- name: Create artifacts directory | |
run: mkdir chainsaw | |
- name: Build for mac | |
run: cargo build --all --release && strip target/release/chainsaw | |
- name: Upload binary artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: mac-binary | |
path: target/release/chainsaw | |
if-no-files-found: error | |
retention-days: 1 | |
- name: Move files to artifacts | |
run: mv target/release/chainsaw mappings LICENCE README.md chainsaw/ | |
- name: Create ZIP File | |
run: zip -qq -r chainsaw_x86_64-apple-darwin.zip chainsaw | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: chainsaw_x86_64-apple-darwin.zip | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
build-complete: | |
needs: [build-linux, build-win, build-mac] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Create artifacts directory | |
run: mkdir chainsaw | |
- name: Checkout | |
uses: actions/checkout@v2 | |
with: | |
path: ./chainsaw-root | |
- name: Checkout Sigma Repo | |
uses: actions/checkout@v3 | |
with: | |
repository: SigmaHQ/sigma | |
path: ./sigma | |
- name: Checkout EVTX Samples Repo | |
uses: actions/checkout@v3 | |
with: | |
repository: sbousseaden/EVTX-ATTACK-SAMPLES | |
path: ./EVTX-ATTACK-SAMPLES | |
- name: Move files to artifacts | |
run: mv sigma EVTX-ATTACK-SAMPLES chainsaw/ | |
- name: Download build-linux binary | |
uses: actions/download-artifact@v3 | |
with: | |
name: linux-binary | |
path: ./chainsaw-linux | |
- name: Download build-win binary | |
uses: actions/download-artifact@v3 | |
with: | |
name: win-binary | |
path: ./chainsaw-win | |
- name: Download build-mac binary | |
uses: actions/download-artifact@v3 | |
with: | |
name: mac-binary | |
path: ./chainsaw-mac | |
- name: build zip file content | |
run: mv ./chainsaw-linux/chainsaw ./chainsaw/chainsaw_x86_64-unknown-linux-gnu; mv ./chainsaw-win/chainsaw.exe ./chainsaw/chainsaw_x86_64-pc-windows-msvc.exe; mv ./chainsaw-mac/chainsaw ./chainsaw/chainsaw_x86_64-apple-darwin ; mv ./chainsaw-root/mappings ./chainsaw-root/LICENCE ./chainsaw-root/README.md ./chainsaw-root/rules/ ./chainsaw/ | |
- name: Create ZIP File | |
run: zip -r chainsaw_all_platforms+rules+examples.zip chainsaw/ | |
- name: Remove Samples | |
run: rm -rf chainsaw/EVTX-ATTACK-SAMPLES/ | |
- name: Create ZIP File | |
run: zip -r chainsaw_all_platforms+rules.zip chainsaw/ | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
chainsaw_all_platforms+rules.zip | |
chainsaw_all_platforms+rules+examples.zip | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |