Skip to content

Adding macOS for checking, building and testing #18

Adding macOS for checking, building and testing

Adding macOS for checking, building and testing #18

name: Build and Test
on:
push:
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
check-linux-macos:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checking out sources
uses: actions/checkout@v4
- name: Installing Primer3
run: |
if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then
sudo apt install -y primer3;
elif [ "${{ matrix.os }}" == "macos-latest" ]; then
brew install primer3;
fi
- name: Installing Rust toolchain
run: rustup toolchain install stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: od-msspe
- name: Checking formatting
run: cargo fmt --check --manifest-path od-msspe/Cargo.toml
- name: Checking lints
run: cargo clippy --manifest-path od-msspe/Cargo.toml --all-targets -- -D warnings
- name: Checking lints with all features
run: cargo clippy --manifest-path od-msspe/Cargo.toml --all-targets --all-features -- -D warnings
- name: Checking doc references
uses: Icelk/rustdoc-link-check@v2
with:
private: true
working-directory: od-msspe
- name: Testing project
run: cargo test --manifest-path od-msspe/Cargo.toml
build-linux-macos:
needs: [check-linux-macos]
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checking out sources
uses: actions/checkout@v4
- name: Installing Primer3
run: |
if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then
sudo apt install -y primer3;
elif [ "${{ matrix.os }}" == "macos-latest" ]; then
brew install primer3;
fi
- name: Installing Rust toolchain
run: rustup toolchain install stable --profile minimal
- uses: Swatinem/rust-cache@v2
with:
workspaces: od-msspe
- name: Build
run: cargo build --verbose --manifest-path od-msspe/Cargo.toml
- name: Run tests
run: cargo test --verbose --manifest-path od-msspe/Cargo.toml