Make winapi crate optional #254
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: Test | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
rustfmt: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: rustfmt | |
- uses: actions/checkout@v2 | |
- name: Check formatting | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
clippy: | |
needs: rustfmt | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-latest, windows-latest, ubuntu-latest] | |
steps: | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: clippy | |
- uses: actions/checkout@v2 | |
- name: Run `cargo clippy` with no features | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --verbose --no-default-features -- -D warnings -D clippy::dbg_macro | |
- name: Run `cargo clippy` with `image-data` feature | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --verbose --no-default-features --features image-data -- -D warnings -D clippy::dbg_macro | |
- name: Run `cargo clippy` with `wayland-data-control` feature | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --verbose --no-default-features --features wayland-data-control -- -D warnings -D clippy::dbg_macro | |
- name: Run `cargo clippy` with all features | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --verbose --all-features -- -D warnings -D clippy::dbg_macro | |
test: | |
needs: clippy | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# No Linux test for now as it just fails due to not having a desktop environment. | |
os: [macos-latest, windows-latest] | |
steps: | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Run tests with no features | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --no-default-features | |
- name: Run tests with `image-data` feature | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --no-default-features --features image-data | |
- name: Run tests with `wayland-data-control` feature | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --no-default-features --features wayland-data-control | |
- name: Run tests with all features | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --all-features | |
miri: | |
needs: clippy | |
env: | |
MIRIFLAGS: -Zmiri-symbolic-alignment-check | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# Currently, only Windows has soundness tests. | |
os: [windows-latest] | |
steps: | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly-2023-10-08 | |
override: true | |
components: miri | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Check soundness | |
uses: actions-rs/cargo@v1 | |
with: | |
command: miri | |
args: test windows --features image-data |