Default aligner to FastGA, add -F/-W shorthand flags #416
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: 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 |