-
Notifications
You must be signed in to change notification settings - Fork 0
160 lines (131 loc) · 3.87 KB
/
Copy pathcheck.yml
File metadata and controls
160 lines (131 loc) · 3.87 KB
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
name: check
on:
push:
branches:
- master
- main
pull_request:
permissions:
contents: read
jobs:
check:
strategy:
fail-fast: false
runs-on: ubuntu-latest
continue-on-error: false
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Install MoonBit
run: |
curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash -s -- nightly
echo "$HOME/.moon/bin" >> $GITHUB_PATH
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Install CI runtime packages
run: |
sudo apt-get update
sudo apt-get install -y \
libvulkan1 \
mesa-vulkan-drivers \
ripgrep \
vulkan-tools
- name: Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/git
~/.cargo/registry
tools/naga_oil_oracle/target
tools/wgpu_validation/.mooncakes/Milky2018/wgpu_mbt/src/c/target
key: ${{ runner.os }}-cargo-${{ hashFiles('tools/naga_oil_oracle/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Tool versions
run: |
moon version --all
node --version
cargo --version
- name: Moon package update
run: |
moon update
moon -C tools/wgpu_validation update
- name: Moon check
run: |
moon check --target all --deny-warn
- name: Moon info is committed
run: |
moon info --target all
git diff --exit-code
- name: Moon format is committed
run: |
moon fmt
git diff --exit-code
- name: Moon test
run: |
ulimit -s 8176
moon test --target all
- name: Moon test filter guard
run: |
bash tools/check_moon_test_filters.sh
- name: Architecture guardrails
run: |
bash tools/check_architecture_guardrails.sh
- name: IR roundtrip corpus
run: |
ulimit -s 8176
bash tools/check_ir_roundtrip_corpus.sh
- name: WGSL validation corpus
run: |
ulimit -s 8176
bash tools/check_wgsl_validation.sh
- name: WGSL corpus matrix
run: |
ulimit -s 8176
bash tools/check_wgsl_corpus_matrix.sh
- name: WGSL builtin coverage
run: |
ulimit -s 8176
bash tools/check_wgsl_builtin_coverage.sh
- name: WGSL generated differential
run: |
ulimit -s 8176
bash tools/check_wgsl_differential_generated.sh
- name: wgpu runtime validation
run: |
ulimit -s 8176
bash tools/check_wgpu_validation.sh
- name: Moon WGSL byte parity
run: |
ulimit -s 8176
bash tools/check_moon_wgsl_byte_parity.sh
- name: External naga-oil compose parity
run: |
ulimit -s 8176
bash tools/check_external_naga_oil_compose_parity.sh
- name: Moon WGSL error parity
run: |
ulimit -s 8176
bash tools/check_moon_wgsl_error_parity.sh
- name: Naga Oil parity inventory
run: |
bash tools/check_naga_oil_parity_inventory.sh
- name: Naga Oil preprocess parity
run: |
ulimit -s 8176
bash tools/check_preprocess_parity.sh
- name: Official GPUWeb WGSL CTS corpus
env:
WGSL_CTS_REF: 3b327ebc44f11212fd3872972a6dd394634fb9e3
run: |
ulimit -s 8176
bash tools/check_official_wgsl_corpus.sh
- name: External real-project WGSL corpus
run: |
ulimit -s 8176
bash tools/check_external_wgsl_corpus.sh