Implement initial MSRV (1.61) #253
Workflow file for this run
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] | |
# Latest stable and MSRV. We only run checks with all features enabled | |
# for the MSRV build to keep CI fast, since other configurations should also work. | |
rust_version: [stable, "1.61"] | |
steps: | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
components: clippy | |
- uses: actions/checkout@v2 | |
- name: Run `cargo clippy` with no features | |
if: ${{ matrix.rust_version == 'stable' }} | |
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 | |
if: ${{ matrix.rust_version == 'stable' }} | |
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 | |
if: ${{ matrix.rust_version == 'stable' }} | |
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 |