remove binutils #250
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
on: | |
push: | |
name: Tests | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
fmt: | |
name: Code formatters | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Prettier | |
run: npm install -g prettier | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Run cargo fmt | |
run: cargo fmt --check | |
- name: Run Prettier | |
run: prettier --check "**/*.{md,json,prettierrc}" | |
clippy: | |
name: cargo clippy | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Rust cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run cargo clippy | |
run: cargo clippy --locked | |
tests: | |
name: cargo test | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: -C instrument-coverage | |
RUST_BACKTRACE: 1 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: sudo apt-get install -y zsh fish | |
- name: Install coverage tools | |
run: | | |
rustup component add llvm-tools | |
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin | |
- name: Rust cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run tests | |
run: cargo nextest run | |
- name: Generate coverage report | |
run: | | |
BINARIES="$(cargo nextest list --list-type binaries-only --message-format json | jq -r '.["rust-binaries"] | .[] | "--object \(.["binary-path"])"' | tr '\n' ' ')" | |
ARGS="-instr-profile fixit.profdata $BINARIES --object ./target/debug/fixit" | |
export LLVM_PROFILE_FILE="default_%m.profraw" | |
rust-profdata merge -sparse default_*.profraw -o fixit.profdata | |
rust-cov report --use-color --ignore-filename-regex='/.cargo/registry' $ARGS | |
rust-cov export -format=lcov $ARGS -sources src/{,**/}*.rs > fixit.lcov | |
- name: Upload coverage report | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
audit: | |
name: Check security advisory database | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Rust cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Run cargo-audit | |
run: | | |
gh release download --repo rustsec/rustsec --pattern 'cargo-audit-x86_64-unknown-linux-musl-*.tgz' | |
tar -xvzf cargo-audit-x86_64-unknown-linux-musl-*.tgz | |
cp cargo-audit-x86_64-unknown-linux-musl-*/cargo-audit . | |
./cargo-audit audit |