name: CI
on:
push:
branches: [main]
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose --all-features
- name: Run tests (release)
run: cargo test --verbose --release --all-features
- name: Check feature matrix
run: |
cargo check --no-default-features
cargo check --no-default-features --features paraseq
cargo check --no-default-features --features anyhow
fmt_lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Formatting
run: cargo fmt --check
- name: Linting
run: cargo clippy --all-features --all-targets -- -D warnings
example_grep:
runs-on: ubuntu-latest
strategy:
matrix:
ext: [bq, vbq, cbq]
steps:
- uses: actions/checkout@v7
- name: run example ${{ matrix.ext }}
run: cargo run --example grep -- ./data/subset.${{ matrix.ext }} "ACGTACGT"
example_range:
runs-on: ubuntu-latest
strategy:
matrix:
ext: [bq, vbq, cbq]
steps:
- uses: actions/checkout@v7
- name: run example ${{ matrix.ext }}
run: cargo run --example parallel_range -- ./data/subset.${{ matrix.ext }} -T 4 --start 30 --end 200
example_write:
runs-on: ubuntu-latest
strategy:
matrix:
ext: [bq, vbq, cbq]
steps:
- uses: actions/checkout@v7
- name: run example (single) ${{ matrix.ext }}
run: cargo run --example auto-write -F paraseq -- ./data/subset_R1.fastq.gz -o ./output.${{ matrix.ext }}
- name: run example (paired) ${{ matrix.ext }}
run: cargo run --example auto-write -F paraseq -- ./data/subset_R1.fastq.gz ./data/subset_R2.fastq.gz -o ./output.${{ matrix.ext }}
example_read:
runs-on: ubuntu-latest
strategy:
matrix:
ext: [bq, vbq, cbq]
steps:
- uses: actions/checkout@v7
- name: run example ${{ matrix.ext }}
run: cargo run --example read -- ./data/subset.${{ matrix.ext }}