42a2bd330f
There's no reason to use these steps anymore: besides being old, unmaintained, and spitting out NodeJS deprecation warnings, GitHub's `runner-images` come preloaded with all Rust tools and components we need, and the syntax to run commands is more efficient, much shorter and more apprehensible by simply matching what we'd use on our own command-line, too.
87 lines
2.6 KiB
YAML
87 lines
2.6 KiB
YAML
on: [push, pull_request]
|
|
|
|
name: CI
|
|
|
|
jobs:
|
|
check:
|
|
name: Check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- run: cargo check --workspace --all-targets --all-features
|
|
|
|
check_msrv:
|
|
name: Check ash MSRV (1.60.0)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- uses: dtolnay/rust-toolchain@1.60.0
|
|
- run: cargo check -p ash -p ash-rewrite --all-features
|
|
|
|
check_ash_window_msrv:
|
|
name: Check ash-window MSRV (1.64.0)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- uses: dtolnay/rust-toolchain@1.64.0
|
|
- run: cargo check -p ash-window -p examples --all-features
|
|
|
|
# TODO: add a similar job for the rewrite once that generates code
|
|
generated:
|
|
name: Generated
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
with:
|
|
submodules: true
|
|
- name: Run generator
|
|
run: cargo run -p generator
|
|
- name: Format generated results
|
|
run: cargo fmt -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
|
|
- name: Test all targets
|
|
run: cargo test --workspace --all-targets
|
|
- name: Test docs
|
|
run: cargo test --workspace --doc
|
|
|
|
fmt:
|
|
name: Rustfmt
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- run: cargo fmt --all -- --check
|
|
|
|
clippy:
|
|
name: Clippy
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Clippy lint without features
|
|
# Only test the core ash, ash-rewrite and ash-window crate, where features reside.
|
|
# The examples crate would otherwise enable all default features again,
|
|
# making this test moot.
|
|
run: cargo clippy -p ash -p ash-rewrite -p ash-window --no-default-features -- -D warnings
|
|
- name: Clippy lint with all features
|
|
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
|
|
- name: Clippy lint with default features
|
|
run: cargo clippy --workspace --all-targets -- -D warnings
|
|
|
|
docs:
|
|
name: Build-test docs
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Document all crates
|
|
env:
|
|
RUSTDOCFLAGS: -Dwarnings
|
|
run: cargo doc --all --all-features --no-deps --document-private-items
|