-
Notifications
You must be signed in to change notification settings - Fork 1k
78 lines (63 loc) · 1.81 KB
/
generate.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: cargo-generate
on:
push:
branches: ["*"]
tags: [v0.*]
pull_request:
merge_group:
env:
#
# Dependency versioning
#
# This is the MSRV used by `wgpu` itself and all surrounding infrastructure.
REPO_MSRV: "1.85"
RUSTFLAGS: -D warnings
jobs:
cargo-generate:
timeout-minutes: 5
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: "01-hello-compute"
path: "examples/standalone/01_hello_compute"
- name: "02-hello-window"
path: "examples/standalone/02_hello_window"
name: "${{ matrix.name }}"
steps:
- uses: actions/checkout@v4
# We can't rely on an override here, as that would only set
# the toolchain for the current directory, not the newly generated project.
- name: Install repo MSRV toolchain
run: |
rustup toolchain install ${{ env.REPO_MSRV }} --no-self-update --profile=minimal
cargo -V
- name: Disable debug symbols
shell: bash
run: |
mkdir -p .cargo
cat <<EOF >> .cargo/config.toml
[profile.dev]
debug = false
EOF
- name: Caching
uses: Swatinem/rust-cache@v2
with:
key: cargo-generate-${{ matrix.name }}
- name: Install `cargo-generate`
uses: taiki-e/install-action@v2
with:
tool: cargo-generate
- name: Run `cargo-generate`
run: |
cd ..
cargo generate --path wgpu --name ${{ matrix.name }} ${{ matrix.path }}
- name: Check generated files
run: |
cd ../${{ matrix.name }}/
cat <<EOF >> Cargo.toml
[patch.crates-io]
wgpu = { path = "../wgpu/wgpu" }
EOF
cargo +${{ env.REPO_MSRV }} check