Implement initial MSRV (1.61) #252
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" | ||
Check failure on line 43 in .github/workflows/test.yml GitHub Actions / TestInvalid workflow file
|
||
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 |