Skip to content

Release 0.3.2

Release 0.3.2 #120

Workflow file for this run

on:
push:
branches:
- main
pull_request:
name: CI
permissions:
contents: read
jobs:
clippy:
name: Clippy ${{ matrix.rust }} / ${{ matrix.triple.target }}
runs-on: ${{ matrix.triple.os }}
strategy:
matrix:
# Borrowed from https://github.com/GuillaumeGomez/sysinfo/blob/master/.github/workflows/CI.yml#L45
triple:
- { os: 'ubuntu-latest', target: 'x86_64-unknown-linux-gnu', cross: false }
- { os: 'ubuntu-latest', target: 'i686-unknown-linux-gnu', cross: true }
# `macos-latest` is now using macOS 14 and ARM64. Future runners will also
# be ARM64: https://github.com/actions/runner-images/issues/9741
- { os: 'macos-latest', target: 'x86_64-apple-darwin', cross: false, always_install_target: true }
- { os: 'macos-latest', target: 'aarch64-apple-darwin', cross: false }
- { os: 'windows-latest', target: 'x86_64-pc-windows-msvc', cross: false }
# iOS
- { os: 'macos-latest', target: 'aarch64-apple-ios', cross: true }
- { os: 'macos-latest', target: 'x86_64-apple-ios', cross: true }
## ARM64
- { os: 'ubuntu-latest', target: 'aarch64-unknown-linux-gnu', cross: true }
- { os: 'ubuntu-latest', target: 'aarch64-unknown-linux-musl', cross: true }
## ARMv7
- { os: 'ubuntu-latest', target: 'armv7-unknown-linux-gnueabihf', cross: true }
- { os: 'ubuntu-latest', target: 'armv7-unknown-linux-musleabihf', cross: true }
## ARMv6
- { os: 'ubuntu-latest', target: 'arm-unknown-linux-gnueabihf', cross: true }
- { os: 'ubuntu-latest', target: 'arm-unknown-linux-musleabihf', cross: true }
# Android
- { os: 'ubuntu-latest', target: 'aarch64-linux-android', cross: true }
- { os: 'ubuntu-latest', target: 'armv7-linux-androideabi', cross: true }
- { os: 'ubuntu-latest', target: 'x86_64-linux-android', cross: true }
- { os: 'ubuntu-latest', target: 'i686-linux-android', cross: true }
# WASM
- { os: 'ubuntu-latest', target: 'wasm32-unknown-unknown', cross: false, always_install_target: true }
rust:
- stable
# MSRV
- 1.56.0
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
components: clippy
- name: Install cross-target
if: matrix.triple.cross || matrix.triple.always_install_target
run: rustup target add ${{ matrix.triple.target }}
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --target=${{ matrix.triple.target }} --manifest-path=Cargo.toml -- -D clippy::dbg_macro -D warnings -D missing_docs -F unused_must_use
use-cross: ${{ matrix.triple.cross }}
test:
name: Test Desktop OSes
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- uses: actions-rs/cargo@v1
with:
command: test
test_ios:
name: "Test iOS (Catalyst)"
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- name: Run iOS tests
run: |
rustup target add aarch64-apple-ios-macabi
cargo test --target aarch64-apple-ios-macabi
test_wasm:
name: Test wasm32-unknown-unknown
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: Test wasm32
run: |
rustup target add wasm32-unknown-unknown
wasm-pack test --firefox --headless -- --features "js"
test_fallback:
name: Check fallback implementation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: "Clippy"
# Install a target that is obviously not supported and then check it to ensure
# the fallback target stays in sync with the other platforms.
run: |
rustup target add x86_64-unknown-none
cargo clippy --target x86_64-unknown-none -- -D clippy::dbg_macro -D warnings -D missing_docs -F unused_must_use
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check