fix: build for macOS #822
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/[email protected] | |
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/[email protected] | |
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/[email protected] | |
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/[email protected] | |
- name: Run cargo-tarpaulin | |
uses: actions-rs/[email protected] | |
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/[email protected] | |
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/[email protected] | |
- 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/[email protected] | |
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/[email protected] | |
with: | |
use-cross: false # cross is not supported on GHA OSX runner, see: https://github.community/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/[email protected] | |
# 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.community/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/[email protected] | |
# with: | |
# use-cross: false | |
# command: test | |
# args: --target x86_64-unknown-linux-musl --all-features --verbose |