|
5 | 5 | branches: |
6 | 6 | - main |
7 | 7 | pull_request: |
| 8 | + workflow_dispatch: |
8 | 9 |
|
9 | 10 | env: |
10 | 11 | # For setup-rust, see https://github.com/moonrepo/setup-rust/issues/22 |
11 | 12 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
12 | 13 |
|
13 | 14 | jobs: |
14 | | - install-and-build-shaders: |
| 15 | + test-os: |
15 | 16 | strategy: |
16 | 17 | fail-fast: false |
17 | 18 | matrix: |
18 | 19 | os: |
19 | 20 | - ubuntu-latest |
20 | 21 | - macos-latest |
21 | 22 | - windows-latest |
22 | | - rust-gpu-version: [latest] |
23 | | - include: |
| 23 | + runs-on: ${{ matrix.os }} |
| 24 | + env: |
| 25 | + RUST_LOG: debug |
| 26 | + steps: |
| 27 | + - uses: actions/checkout@v4 |
| 28 | + - uses: cargo-bins/cargo-binstall@main |
| 29 | + - run: cargo binstall cargo-nextest |
| 30 | + - run: cargo fetch --locked |
| 31 | + - name: shader-crate-template cargo fetch --locked |
| 32 | + run: | |
| 33 | + cd ./crates/shader-crate-template |
| 34 | + cargo fetch --locked |
| 35 | + - run: cargo nextest run |
| 36 | + - name: Run a full build |
| 37 | + run: cargo xtask test-build |
| 38 | + |
| 39 | + test-rust-gpu-releases: |
| 40 | + strategy: |
| 41 | + fail-fast: false |
| 42 | + matrix: |
| 43 | + rust-gpu-version: |
24 | 44 | # As well as testing on each OS, we also want to test to make sure we're still supporting |
25 | 45 | # older versions of `rust-gpu`. However, we can assume that these tests are already okay |
26 | 46 | # across platforms, so we only need to test on Linux, the chepeast in terms of minutes. |
27 | 47 | # |
28 | 48 | # `0.7.0` currently fails building `spirv-builder-cli` with: |
29 | 49 | # """ |
30 | | - # package `is_terminal_polyfill v1.70.1` cannot be built because it requires rustc |
| 50 | + # package `is_terminal_polyfill v1.70.1` cannot be built because it requires rustc |
31 | 51 | # 1.70.0 or newer, while the currently active rustc version is 1.69.0-nightly |
32 | 52 | # """ |
33 | 53 | # It's probably easily fixable. But also `0.7.0` was released in April 2023, so there's |
34 | 54 | # unlikely many users of it? |
35 | | - - os: ubuntu-latest |
36 | | - rust-gpu-version: 0.8.0 |
37 | | - - os: ubuntu-latest |
38 | | - rust-gpu-version: 0.9.0 |
39 | | - runs-on: ${{ matrix.os }} |
40 | | - defaults: |
41 | | - run: |
42 | | - shell: bash |
| 55 | + - 0.8.0 |
| 56 | + - 0.9.0 |
| 57 | + runs-on: ubuntu-latest |
43 | 58 | env: |
44 | 59 | RUST_LOG: debug |
45 | 60 | steps: |
46 | 61 | - uses: actions/checkout@v4 |
47 | | - - name: Fetch root dependencies |
48 | | - run: cargo fetch --locked |
49 | | - - name: Fetch shader-crate-template dependencies |
50 | | - run: | |
51 | | - cd ./crates/shader-crate-template |
52 | | - cargo fetch --locked |
53 | | - - run: cargo test |
54 | 62 | - name: Run a full build |
55 | 63 | run: cargo xtask test-build --rust-gpu-version ${{ matrix.rust-gpu-version }} |
56 | | - |
| 64 | + |
57 | 65 | lints: |
58 | 66 | runs-on: ubuntu-latest |
59 | 67 | steps: |
60 | 68 | - uses: actions/checkout@v4 |
61 | 69 | - uses: cargo-bins/cargo-binstall@main |
62 | | - - name: Install cargo-shear |
63 | | - run: cargo binstall cargo-shear |
| 70 | + - run: cargo binstall cargo-shear |
64 | 71 | - run: cargo fetch --locked |
65 | 72 | - run: cargo clippy -- --deny warnings |
66 | 73 | - run: cargo fmt --check |
67 | 74 | - run: cargo shear |
| 75 | + |
| 76 | +defaults: |
| 77 | + run: |
| 78 | + shell: bash |
0 commit comments