summaryrefslogtreecommitdiffstats
path: root/third_party/rust/naga/.github/workflows/pipeline.yml
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/naga/.github/workflows/pipeline.yml')
-rw-r--r--third_party/rust/naga/.github/workflows/pipeline.yml100
1 files changed, 100 insertions, 0 deletions
diff --git a/third_party/rust/naga/.github/workflows/pipeline.yml b/third_party/rust/naga/.github/workflows/pipeline.yml
new file mode 100644
index 0000000000..46c427ee0f
--- /dev/null
+++ b/third_party/rust/naga/.github/workflows/pipeline.yml
@@ -0,0 +1,100 @@
+# Regular testing.
+name: pipeline
+on: [push, pull_request]
+
+jobs:
+ test-msrv:
+ name: Test MSRV and dependencies minimal-versions
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: "1.56.0"
+ override: true
+ - uses: taiki-e/install-action@cargo-hack
+ - uses: taiki-e/install-action@cargo-minimal-versions
+ # nightly is only used by cargo-minimal-versions to regenerate the lock file
+ - run: rustup toolchain add nightly --no-self-update
+ - name: Test all features
+ run: cargo minimal-versions test --all-features --workspace
+ - name: Check snapshots
+ run: git diff --exit-code -- tests/out
+ test:
+ name: Test Nightly
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: nightly
+ override: true
+ - uses: actions-rs/cargo@v1
+ name: Default test
+ with:
+ # Our intention here is to test `naga` with no features enabled. But
+ # since `cli` is the default package, a plain `cargo test` will build
+ # `naga` with the features requested in `cli/Cargo.toml`. Passing
+ # `--package naga` causes us to use the default features in the
+ # top-level `Cargo.toml` instead.
+ command: test
+ args: --package naga
+ - uses: actions-rs/cargo@v1
+ name: Test all features
+ with:
+ command: test
+ args: --all-features --workspace
+ - name: Check snapshots
+ run: git diff --exit-code -- tests/out
+ - uses: actions-rs/cargo@v1
+ name: Check benchmarks
+ with:
+ command: check
+ args: --benches
+ clippy:
+ name: Clippy
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ - run: rustup component add clippy
+ - uses: actions-rs/cargo@v1
+ with:
+ command: clippy
+ args: --all-features --workspace -- -D warnings
+ documentation:
+ name: Documentation
+ runs-on: ubuntu-latest
+ env:
+ RUSTDOCFLAGS: -Dwarnings
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ - uses: actions-rs/cargo@v1
+ with:
+ command: doc
+ args: -p naga --all-features --document-private-items
+ fmt:
+ name: Format
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ components: rustfmt
+ - name: run rustfmt
+ run: |
+ cargo fmt -- --check