name: Shaders on: push: branches: ["*"] tags: [v0.*] pull_request: merge_group: jobs: naga-validate-windows: name: "Validate: HLSL" runs-on: windows-latest steps: - uses: actions/checkout@v3 - name: Setup DXC uses: napokue/setup-dxc@v1.1.0 - name: Setup FXC run: | Get-Childitem -Path "C:\Program Files (x86)\Windows Kits\10\bin\**\x64\fxc.exe" ` | Sort-Object -Property LastWriteTime -Descending ` | Select-Object -First 1 ` | Split-Path -Parent ` | Out-File -FilePath $Env:GITHUB_PATH -Encoding utf8 -Append shell: powershell - uses: Swatinem/rust-cache@v2 with: workspaces: | naga/xtask -> naga/xtask/target - run: | cd naga cargo xtask validate hlsl dxc cargo xtask validate hlsl fxc naga-validate-macos: name: "Validate: MSL" runs-on: macos-latest steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 with: workspaces: | naga/xtask -> naga/xtask/target - run: | cd naga cargo xtask validate msl naga-validate-linux: name: "Validate: SPIR-V/GLSL/DOT/WGSL" runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install tools run: sudo apt-get install spirv-tools glslang-tools graphviz - uses: Swatinem/rust-cache@v2 with: workspaces: | naga/xtask -> naga/xtask/target - run: cd naga; cargo xtask validate spv - run: cd naga; cargo xtask validate glsl - run: cd naga; cargo xtask validate dot - run: cd naga; cargo xtask validate wgsl