name: CI on: push: branches-ignore: [ staging.tmp ] pull_request: branches-ignore: [ staging.tmp ] jobs: build: name: ${{ matrix.name }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: name: [ iOS Stable, MacOS Stable, MacOS Nightly, Ubuntu Stable, Ubuntu Nightly, Windows Stable, Windows Nightly, ] include: - os: macos-10.15 name: iOS Stable channel: stable build_command: rustup target add aarch64-apple-ios; cargo clippy --target aarch64-apple-ios - os: macos-10.15 name: MacOS Stable channel: stable build_command: cargo clippy - os: macos-10.15 name: MacOS Nightly channel: nightly build_command: cargo test - os: ubuntu-18.04 name: Ubuntu Stable channel: stable build_command: cargo clippy - os: ubuntu-18.04 name: Ubuntu Nightly channel: nightly build_command: cargo test - os: windows-2019 name: Windows Stable channel: stable build_command: rustup default stable-msvc; cargo clippy - os: windows-2019 name: Windows Nightly channel: nightly build_command: rustup default nightly-msvc; cargo test steps: - uses: actions/checkout@v2 - if: matrix.channel == 'nightly' name: Install latest nightly uses: actions-rs/toolchain@v1 with: toolchain: nightly override: true - if: contains(matrix.build_command, 'clippy') run: rustup component add clippy - name: cargo clippy/test run: ${{ matrix.build_command }}