Skip to content

Collapse the protein q-values into one field and write pass 2's into the sidecar #318

Collapse the protein q-values into one field and write pass 2's into the sidecar

Collapse the protein q-values into one field and write pass 2's into the sidecar #318

Workflow file for this run

name: CI
on:
push:
branches: [main, develop, performance-optimization]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
jobs:
test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libopenblas-dev libssl-dev cmake pkg-config
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
# cmake and openssl@3 are pre-installed on the macos-latest runner image;
# only openblas needs explicit install. `brew install openblas` is a no-op
# when already-installed but kept here as the contract is "ensure present".
run: |
brew install openblas
BREW_PREFIX=$(brew --prefix openblas)
echo "LDFLAGS=-L${BREW_PREFIX}/lib" >> $GITHUB_ENV
echo "CPPFLAGS=-I${BREW_PREFIX}/include" >> $GITHUB_ENV
- name: Install dependencies (Windows)
if: runner.os == 'Windows'
run: |
vcpkg install openblas:x64-windows openssl:x64-windows
echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" >> $env:GITHUB_ENV
- name: Cache cargo registry
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Check formatting
run: cargo fmt --all -- --check
- name: Run clippy
run: cargo clippy --all-targets --all-features -- -D warnings
- name: Run tests
run: cargo test --all-features --verbose
- name: Build release
run: cargo build --release