feat!: bam header to_hashmap method now returns a result in order to deal with header parsing issues #875
Workflow file for this run
This file contains 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: [master] | |
pull_request: | |
branches: [master] | |
jobs: | |
Formatting: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1.0.6 | |
with: | |
toolchain: stable | |
override: true | |
components: rustfmt | |
- name: Check format | |
run: cargo fmt -- --check | |
Linting: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1.0.6 | |
with: | |
toolchain: stable | |
override: true | |
components: clippy | |
- name: Lint with clippy | |
uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
Testing: | |
needs: Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install nightly toolchain | |
uses: actions-rs/toolchain@v1.0.6 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Install system dependencies | |
run: | | |
sudo apt-get install --yes zlib1g-dev libbz2-dev musl musl-dev musl-tools clang libc6-dev | |
- uses: Swatinem/rust-cache@v1.3.0 | |
- name: Run cargo-tarpaulin | |
uses: actions-rs/tarpaulin@v0.1 | |
with: | |
# TODO: update to latest tarpaulin once artefact download is fixed: https://github.com/actions-rs/tarpaulin/pull/23 | |
version: "0.22.0" | |
args: "--all-features --run-types Tests,Doctests --out Lcov -- --test-threads 1" | |
- name: Upload coverage | |
uses: coverallsapp/github-action@v1 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
path-to-lcov: ./lcov.info | |
Testing-Features: | |
needs: Formatting | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- no-default-features | |
- all-features | |
include: | |
- target: no-default-features | |
args: --no-default-features | |
use_cross: false | |
- target: all-features | |
args: --all-features | |
toolchain_target: x86_64-unknown-linux-musl | |
use_cross: false | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1.0.6 | |
with: | |
toolchain: stable | |
override: true | |
- name: Install system dependencies | |
run: | | |
sudo apt-get install --yes zlib1g-dev libbz2-dev musl musl-dev musl-tools clang libc6-dev | |
- uses: Swatinem/rust-cache@v1.3.0 | |
- name: Test | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: ${{ matrix.args }} | |
use-cross: ${{ matrix.use_cross }} | |
Testing-MacOS: | |
needs: Formatting | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
target: | |
- intel-monterey | |
- intel-ventura | |
- silicon-sonoma | |
include: | |
- target: intel-monterey | |
os: macOS-12.0 | |
toolchain_target: x86_64-apple-darwin | |
toolchain: stable | |
aux_args: --target x86_64-apple-darwin | |
default: true | |
- target: intel-ventura | |
os: macOS-13.0 | |
toolchain_target: x86_64-apple-darwin | |
toolchain: stable | |
aux_args: --target x86_64-apple-darwin | |
default: true | |
- target: silicon-sonoma | |
os: macOS-14.0 | |
toolchain_target: aarch64-apple-darwin | |
toolchain: stable | |
aux_args: "" | |
default: false | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1.0.6 | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
target: ${{ matrix.toolchain_target }} | |
override: true | |
default: ${{ matrix.default }} | |
- name: Install htslib dependencies | |
run: brew install bzip2 zlib xz curl-openssl | |
- name: Test | |
uses: actions-rs/cargo@v1.0.1 | |
with: | |
use-cross: false # cross is not supported on GHA OSX runner, see: https://github.saobby.my.eu.orgmunity/t/why-is-docker-not-installed-on-macos/17017 | |
command: test | |
args: --release --all-features --verbose ${{ matrix.aux_args }} | |
# Testing-OSX-MUSL-BigSur: | |
# needs: Formatting | |
# runs-on: macOS-11.0 | |
# steps: | |
# Test MUSL builds on OSX | |
# | |
# - uses: actions-rs/toolchain@v1.0.6 | |
# with: | |
# toolchain: stable | |
# target: x86_64-unknown-linux-musl | |
# override: true | |
# - name: Install OSX musl-cross | |
# run: brew install FiloSottile/musl-cross/musl-cross | |
# # https://github.com/FiloSottile/homebrew-musl-cross/issues/16 | |
# - name: Provide musl-gcc symlink for the right musl arch | |
# run: ln -sf /usr/local/opt/musl-cross/libexec/bin/x86_64-linux-musl-gcc /usr/local/bin/musl-gcc | |
# - name: Test musl build without default features | |
# uses: actions-rs/cargo@v1 | |
# with: | |
# use-cross: false # cross is not supported on GHA OSX runner, see: https://github.saobby.my.eu.orgmunity/t/why-is-docker-not-installed-on-macos/17017 | |
# command: test | |
# args: --release --target x86_64-unknown-linux-musl --no-default-features | |
# - name: Test musl build with all features and debug symbols (non --release) on OSX | |
# uses: actions-rs/cargo@v1.0.1 | |
# with: | |
# use-cross: false | |
# command: test | |
# args: --target x86_64-unknown-linux-musl --all-features --verbose |