Add isolated wgpu validation gate #14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 | |
| 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: 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: 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: 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: 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 |