ash/.github/workflows/ci.yml
Marijn Suijten 61d37734f8
ci: Run clippy once more without default features (#523)
With more and more features being added to `ash`, now seems to be the
right time to make sure the crate is clean of clippy warnings when
building without any features in addition to building with the deafult
set of features.
2021-12-27 11:43:12 +01:00

114 lines
3 KiB
YAML

on: [push, pull_request]
name: CI
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: check
args: --workspace --all-targets --all-features
generated:
name: Generated
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: true
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Run generator
uses: actions-rs/cargo@v1
with:
command: run
args: -p generator
- name: Format generated results
uses: actions-rs/cargo@v1
with:
command: fmt
args: -p ash
- name: Diff autogen result
run: git diff --quiet || (echo "::error::Generated files are different, please regenerate with cargo run -p generator!"; git diff; false)
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- name: Install Vulkan loader
run: sudo apt-get install libvulkan-dev
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Test all targets
uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --all-targets
- name: Test docs
uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --doc
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: clippy
- uses: actions-rs/cargo@v1
name: Clippy lint without features
with:
command: clippy
# Only test the core ash and ash-window crate, where features reside.
# The examples crate would otherwise enable all default features again,
# making this test moot.
args: -p ash -p ash-window --no-default-features -- -D warnings
- uses: actions-rs/cargo@v1
name: Clippy lint with all features
with:
command: clippy
args: --workspace --all-targets --all-features -- -D warnings
- uses: actions-rs/cargo@v1
name: Clippy lint with default features
with:
command: clippy
args: --workspace --all-targets -- -D warnings