Merge pull request #1017 from COMBINE-lab/fix/unimem-merge-diagonal #141
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: | |
| - "**" | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| # Unified MSRV across the salmon workspace and its COMBINE-lab deps (see plan R2). | |
| RUST_TOOLCHAIN: "1.91.1" | |
| jobs: | |
| build-test: | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 90 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-22.04 | |
| target_id: linux-x86_64 | |
| - os: ubuntu-24.04-arm | |
| target_id: linux-aarch64 | |
| - os: macos-15-intel | |
| target_id: macos-x86_64 | |
| - os: macos-14 | |
| target_id: macos-arm64 | |
| steps: | |
| - name: Checkout salmon | |
| uses: actions/checkout@v4 | |
| - name: Install Rust ${{ env.RUST_TOOLCHAIN }} | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| components: rustfmt, clippy | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Format check | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| - name: Build (release, portable floor) | |
| # .cargo/config.toml pins the x86-64-v2 / NEON SIMD floor; ksw2rs picks | |
| # AVX2/SSE4.1/NEON at runtime. | |
| run: cargo build --workspace --release | |
| - name: Test | |
| run: cargo test --workspace --release | |
| - name: CLI smoke | |
| run: ./target/release/salmon --help | |
| - name: Sample data smoke (mapping) | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| [[ -d sample_data ]] || tar -xzf sample_data.tgz | |
| ./target/release/salmon index \ | |
| -t sample_data/transcripts.fasta \ | |
| -i target/sample_index | |
| ./target/release/salmon quant \ | |
| -l A -i target/sample_index \ | |
| -1 sample_data/reads_1.fastq \ | |
| -2 sample_data/reads_2.fastq \ | |
| -o target/sample_quant_mapping | |
| test -s target/sample_quant_mapping/quant.sf | |
| - name: Sample data smoke (alignment) | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| ./target/release/salmon quant \ | |
| -l A -t sample_data/transcripts.fasta \ | |
| -a sample_data/sample_alignments.bam \ | |
| -o target/sample_quant_alignment | |
| test -s target/sample_quant_alignment/quant.sf |