Update ci.yml #1211
Workflow file for this run
This file contains 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: Shaders | |
on: | |
push: | |
branches: ["*"] | |
tags: [v0.*] | |
pull_request: | |
merge_group: | |
env: | |
# Sourced from https://github.com/microsoft/DirectXShaderCompiler/releases | |
# | |
# Must also be changed in ci.yaml | |
DXC_RELEASE: "v1.7.2308" | |
DXC_FILENAME: "dxc_2023_08_14.zip" | |
jobs: | |
naga-validate-windows: | |
name: "Validate: HLSL" | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
workspaces: | | |
naga/xtask -> naga/xtask/target | |
# We must have the FXC job before the DXC job, so the DXC PATH has priority | |
# over the FXC PATH. This is because the windows kits also include an older | |
# version of DXC, which we don't want to use. | |
- 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 | |
- name: Setup DXC | |
shell: bash | |
run: | | |
set -e | |
curl.exe -L --retry 5 https://github.com/microsoft/DirectXShaderCompiler/releases/download/$DXC_RELEASE/$DXC_FILENAME -o dxc.zip | |
7z.exe e dxc.zip -odxc bin/x64/{dxc.exe,dxcompiler.dll,dxil.dll} | |
# We need to use cygpath to convert PWD to a windows path as we're using bash. | |
cygpath --windows "$PWD/dxc" >> "$GITHUB_PATH" | |
- name: Validate | |
shell: bash | |
run: | | |
set -e | |
dxc --version | |
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@v4 | |
- 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@v4 | |
- 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 | |