61d37734f8
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.
114 lines
3 KiB
YAML
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
|