Skip to content

fix: build for macOS #822

fix: build for macOS

fix: build for macOS #822

Workflow file for this run

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