Skip to content

feat(report): add JSON and HTML report output with risk scoring #15

feat(report): add JSON and HTML report output with risk scoring

feat(report): add JSON and HTML report output with risk scoring #15

Workflow file for this run

name: Rust CI/CD Pipeline
on:
push:
branches:
- main
tags:
- 'v*'
pull_request:
branches:
- main
env:
CARGO_TERM_COLOR: always
jobs:
build_and_test:
name: Build, Lint, and Test
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Stable Toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Cache Rust Dependencies
uses: Swatinem/rust-cache@v2
- name: Check Formatting (rustfmt)
run: cargo fmt
- name: Run Linter (cargo clippy)
continue-on-error: true
run: cargo clippy -- -D warnings
- name: Build the Project
run: cargo build --verbose
- name: Run Tests
continue-on-error: true
run: cargo test --verbose
- name: Security Audit (cargo audit)
run: |
cargo install cargo-audit
cargo audit
- name: Run Docker Image Build
continue-on-error: true
run: docker build -t entrors:latest .
release:
name: Release
needs: build_and_test
runs-on: ${{ matrix.os }}
if: startsWith(github.ref, 'refs/tags/v')
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust Stable Toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust Dependencies
uses: Swatinem/rust-cache@v2
- name: Build Release
run: cargo build --release
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: target/release/EntroRS${{ matrix.os == 'windows-latest' && '.exe' || '' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}