Skip to content

Default aligner to FastGA, add -F/-W shorthand flags #416

Default aligner to FastGA, add -F/-W shorthand flags

Default aligner to FastGA, add -F/-W shorthand flags #416

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
PORTABLE: 1
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
if [[ "${{ runner.os }}" == "Linux" ]]; then
sudo apt-get update
sudo apt-get install -y libzstd-dev cmake libbz2-dev liblzma-dev libcurl4-gnutls-dev samtools libhts-dev libgsl-dev libjemalloc-dev
elif [[ "${{ runner.os }}" == "macOS" ]]; then
brew install zstd cmake xz gcc libomp samtools htslib gsl jemalloc
echo "CFLAGS=-I$(brew --prefix zstd)/include -I$(brew --prefix libomp)/include -I$(brew --prefix htslib)/include -I$(brew --prefix gsl)/include -I$(brew --prefix jemalloc)/include" >> $GITHUB_ENV
echo "LDFLAGS=-L$(brew --prefix zstd)/lib -L$(brew --prefix libomp)/lib -L$(brew --prefix htslib)/lib -L$(brew --prefix gsl)/lib -L$(brew --prefix jemalloc)/lib" >> $GITHUB_ENV
echo "CPPFLAGS=-I$(brew --prefix zstd)/include -I$(brew --prefix libomp)/include -I$(brew --prefix htslib)/include -I$(brew --prefix gsl)/include -I$(brew --prefix jemalloc)/include" >> $GITHUB_ENV
echo "CMAKE_PREFIX_PATH=$(brew --prefix htslib);$(brew --prefix gsl);$(brew --prefix jemalloc);$(brew --prefix libomp);$(brew --prefix zstd)" >> $GITHUB_ENV
echo "CMAKE_INCLUDE_PATH=$(brew --prefix htslib)/include:$(brew --prefix gsl)/include:$(brew --prefix jemalloc)/include:$(brew --prefix libomp)/include" >> $GITHUB_ENV
echo "CMAKE_LIBRARY_PATH=$(brew --prefix htslib)/lib:$(brew --prefix gsl)/lib:$(brew --prefix jemalloc)/lib:$(brew --prefix libomp)/lib" >> $GITHUB_ENV
fi
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
prefix-key: v2-rust
- name: Build
run: cargo build --release
- name: Unit tests
run: |
export TMPDIR="${{ runner.temp }}"
cargo test --release --lib -- --test-threads=1
- name: Integration tests (wfmash + FastGA)
run: |
export TMPDIR="${{ runner.temp }}"
cargo test --release --test test_ci_integration -- --test-threads=1
- name: Check for forbidden files
run: |
if git ls-tree -r HEAD --name-only | grep -E '\.(fa|fasta|paf|gdb|ktab|bps)$' | grep -v 'data/scerevisiae8.fa.gz' | grep -v 'data/B-3106.fa'; then
echo "ERROR: Found forbidden data files in repository!"
exit 1
fi