Skip to content

15 multi protocol scanning #102

15 multi protocol scanning

15 multi protocol scanning #102

Workflow file for this run

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 }}