15 multi protocol scanning #102
Workflow file for this run
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: Rust CI (MUSL Target) | |
| on: | |
| push: | |
| branches: [ "master" ] | |
| pull_request: | |
| branches: [ "master" ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_TARGET: x86_64-unknown-linux-musl | |
| jobs: | |
| build-and-lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Rust and MUSL target | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: nightly | |
| targets: ${{ env.RUST_TARGET }} | |
| components: rustfmt, clippy | |
| - name: Rust Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: ${{ env.RUST_TARGET }} | |
| - name: Install build dependencies (Protobuf Compiler, MUSL tools) | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends protobuf-compiler musl-tools gcc | |
| - name: Install cargo-udeps | |
| run: cargo install cargo-udeps | |
| - name: Check for unused dependencies | |
| run: cargo +nightly udeps --all-targets --target ${{ env.RUST_TARGET }} | |
| - name: Check code formatting | |
| run: cargo fmt -- --check | |
| - name: Run Clippy (linting) | |
| run: cargo clippy --target ${{ env.RUST_TARGET }} --all-targets -- -D warnings | |
| - name: Build project for MUSL target | |
| run: | | |
| RUSTFLAGS="-C target-cpu=x86-64-v3" \ | |
| cargo build --release --target ${{ env.RUST_TARGET }} --verbose | |
| - name: Upload to GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: latest | |
| name: Latest Release | |
| files: target/${{ env.RUST_TARGET }}/release/manycastr | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |