[llvm] [HLSL] Run HLSL Tests PR validation on Azure-hosted Windows (PR #226312)
Helena Kotas via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 29 13:54:08 PDT 2026
https://github.com/hekota updated https://github.com/llvm/llvm-project/pull/226312
>From 6dce395910bc4ce492f5356e51c3fe0b0512ef12 Mon Sep 17 00:00:00 2001
From: Helena Kotas <hekotas at microsoft.com>
Date: Thu, 24 Sep 2026 15:14:17 -0700
Subject: [PATCH 1/8] [HLSL] Run PR tests on Windows
Replace the macOS HLSL runner with an Azure-hosted Windows 2022 runner and exercise the Clang WARP D3D12 target. Restore Windows toolchain setup and publish the resulting test reports.
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
---
.github/workflows/hlsl-matrix.yaml | 6 +++---
.github/workflows/hlsl-test-all.yaml | 19 +++++++++++++++----
2 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/hlsl-matrix.yaml b/.github/workflows/hlsl-matrix.yaml
index c63a32acd2b3e..9abc88ee1b26e 100644
--- a/.github/workflows/hlsl-matrix.yaml
+++ b/.github/workflows/hlsl-matrix.yaml
@@ -21,10 +21,10 @@ jobs:
fail-fast: false
matrix:
runs-on:
- - hlsl-macos
+ - windows-2022
uses: ./.github/workflows/hlsl-test-all.yaml
with:
- SKU: hlsl-macos
- TestTarget: check-hlsl-clang-mtl # TODO: This target changes based on SKU
+ SKU: ${{ matrix.runs-on }}
+ TestTarget: check-hlsl-clang-warp-d3d12
LLVM-ref: ${{ github.ref }}
diff --git a/.github/workflows/hlsl-test-all.yaml b/.github/workflows/hlsl-test-all.yaml
index 03605497ab660..5e5a705399e29 100644
--- a/.github/workflows/hlsl-test-all.yaml
+++ b/.github/workflows/hlsl-test-all.yaml
@@ -28,6 +28,11 @@ jobs:
build:
runs-on: ${{ inputs.SKU }}
steps:
+ - name: Setup Windows
+ if: runner.os == 'Windows'
+ uses: llvm/actions/setup-windows at 89a8cf80982d830faab019237860b344a6390c30 # main
+ with:
+ arch: amd64
- name: Checkout DXC
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
@@ -40,7 +45,7 @@ jobs:
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- ref: ${{ inputs.LLVM-branch }}
+ ref: ${{ inputs.LLVM-ref }}
path: llvm-project
- name: Checkout OffloadTest
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
@@ -56,6 +61,12 @@ jobs:
repository: llvm/offload-golden-images
ref: main
path: golden-images
+ - name: Setup Python
+ uses: actions/setup-python at a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
+ with:
+ python-version: '3.x'
+ - name: Install test dependencies
+ run: python -m pip install -r OffloadTest/test/requirements.txt
- name: Build DXC
run: |
cd DXC
@@ -68,7 +79,7 @@ jobs:
cd llvm-project
mkdir build
cd build
- cmake -G Ninja -DDXIL_DIS=${{ github.workspace }}/DXC/build/bin/llvm-dis -DLLVM_INCLUDE_DXIL_TESTS=On -DCMAKE_BUILD_TYPE=Release -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DDXC_DIR=${{ github.workspace }}/DXC/build/bin -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
+ cmake -G Ninja -DDXIL_DIS=${{ github.workspace }}/DXC/build/bin/llvm-dis -DLLVM_INCLUDE_DXIL_TESTS=On -DCMAKE_BUILD_TYPE=Release -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DDXC_DIR=${{ github.workspace }}/DXC/build/bin -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
ninja hlsl-test-depends llvm-test-depends clang-test-depends
- name: Run HLSL Tests
run: |
@@ -79,8 +90,8 @@ jobs:
ninja check-hlsl-unit
ninja ${{ inputs.TestTarget }}
- name: Publish Test Results
- uses: EnricoMi/publish-unit-test-result-action/macos at d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0
- if: always() && runner.os == 'macOS'
+ uses: EnricoMi/publish-unit-test-result-action/windows at d0a4676d0e0b938bc201470d88276b7c74c712b3 # v2.24.0
+ if: always() && runner.os == 'Windows'
continue-on-error: true
with:
comment_mode: off
>From e1730bed019fb249f5c2f2f93959c203d17f84f1 Mon Sep 17 00:00:00 2001
From: Helena Kotas <hekotas at microsoft.com>
Date: Thu, 24 Sep 2026 21:04:35 -0700
Subject: [PATCH 2/8] [HLSL] Fix Windows test workflow
Use the Windows llvm-dis executable and let checkout select the event revision instead of accepting an untrusted workflow input.
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
---
.github/workflows/hlsl-matrix.yaml | 1 -
.github/workflows/hlsl-test-all.yaml | 8 +-------
2 files changed, 1 insertion(+), 8 deletions(-)
diff --git a/.github/workflows/hlsl-matrix.yaml b/.github/workflows/hlsl-matrix.yaml
index 9abc88ee1b26e..b3978031afd10 100644
--- a/.github/workflows/hlsl-matrix.yaml
+++ b/.github/workflows/hlsl-matrix.yaml
@@ -27,4 +27,3 @@ jobs:
with:
SKU: ${{ matrix.runs-on }}
TestTarget: check-hlsl-clang-warp-d3d12
- LLVM-ref: ${{ github.ref }}
diff --git a/.github/workflows/hlsl-test-all.yaml b/.github/workflows/hlsl-test-all.yaml
index 5e5a705399e29..0b1cbd2941d31 100644
--- a/.github/workflows/hlsl-test-all.yaml
+++ b/.github/workflows/hlsl-test-all.yaml
@@ -11,11 +11,6 @@ on:
required: false
default: 'main'
type: string
- LLVM-ref:
- description: 'LLVM Branch'
- required: false
- default: 'main'
- type: string
SKU:
required: true
type: string
@@ -45,7 +40,6 @@ jobs:
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- ref: ${{ inputs.LLVM-ref }}
path: llvm-project
- name: Checkout OffloadTest
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
@@ -79,7 +73,7 @@ jobs:
cd llvm-project
mkdir build
cd build
- cmake -G Ninja -DDXIL_DIS=${{ github.workspace }}/DXC/build/bin/llvm-dis -DLLVM_INCLUDE_DXIL_TESTS=On -DCMAKE_BUILD_TYPE=Release -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DDXC_DIR=${{ github.workspace }}/DXC/build/bin -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
+ cmake -G Ninja -DDXIL_DIS=${{ github.workspace }}/DXC/build/bin/llvm-dis.exe -DLLVM_INCLUDE_DXIL_TESTS=On -DCMAKE_BUILD_TYPE=Release -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DDXC_DIR=${{ github.workspace }}/DXC/build/bin -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
ninja hlsl-test-depends llvm-test-depends clang-test-depends
- name: Run HLSL Tests
run: |
>From 4328beebcac86166eeafe904fe2f201e9fb95a2b Mon Sep 17 00:00:00 2001
From: Helena Kotas <hekotas at microsoft.com>
Date: Mon, 28 Sep 2026 13:33:55 -0700
Subject: [PATCH 3/8] [HLSL] Limit Windows CI to HLSL targets
Build only DXC's validator and the HLSL test dependencies, then run the HLSL unit and Clang WARP D3D12 suites.
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
---
.github/workflows/hlsl-test-all.yaml | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/hlsl-test-all.yaml b/.github/workflows/hlsl-test-all.yaml
index 0b1cbd2941d31..d57cc4f2255fb 100644
--- a/.github/workflows/hlsl-test-all.yaml
+++ b/.github/workflows/hlsl-test-all.yaml
@@ -67,20 +67,18 @@ jobs:
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -C ${{ github.workspace }}/DXC/cmake/caches/PredefinedParams.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DHLSL_DISABLE_SOURCE_GENERATION=On ${{ github.workspace }}/DXC/
- ninja dxv llvm-dis
+ ninja dxv
- name: Build LLVM
run: |
cd llvm-project
mkdir build
cd build
- cmake -G Ninja -DDXIL_DIS=${{ github.workspace }}/DXC/build/bin/llvm-dis.exe -DLLVM_INCLUDE_DXIL_TESTS=On -DCMAKE_BUILD_TYPE=Release -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DDXC_DIR=${{ github.workspace }}/DXC/build/bin -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
- ninja hlsl-test-depends llvm-test-depends clang-test-depends
+ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DDXC_DIR=${{ github.workspace }}/DXC/build/bin -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
+ ninja hlsl-test-depends
- name: Run HLSL Tests
run: |
cd llvm-project
cd build
- ninja check-llvm
- ninja check-clang
ninja check-hlsl-unit
ninja ${{ inputs.TestTarget }}
- name: Publish Test Results
>From e5eff72b0a0e25b9c818a2a46b0ff667cf2ba85b Mon Sep 17 00:00:00 2001
From: Helena Kotas <hekotas at microsoft.com>
Date: Mon, 28 Sep 2026 15:52:08 -0700
Subject: [PATCH 4/8] [HLSL] Use packaged DXC validator
Replace the DXC source build with the current stable Microsoft.Direct3D.DXC NuGet package, build LLVM with clang-cl and LLD, and report sccache statistics after compilation.
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
---
.github/workflows/hlsl-test-all.yaml | 31 ++++++++++++++--------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/.github/workflows/hlsl-test-all.yaml b/.github/workflows/hlsl-test-all.yaml
index d57cc4f2255fb..ca4a263e0cb2f 100644
--- a/.github/workflows/hlsl-test-all.yaml
+++ b/.github/workflows/hlsl-test-all.yaml
@@ -22,20 +22,14 @@ on:
jobs:
build:
runs-on: ${{ inputs.SKU }}
+ env:
+ DXC_VERSION: 1.9.2607.13
steps:
- name: Setup Windows
if: runner.os == 'Windows'
uses: llvm/actions/setup-windows at 89a8cf80982d830faab019237860b344a6390c30 # main
with:
arch: amd64
- - name: Checkout DXC
- uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- with:
- persist-credentials: false
- repository: Microsoft/DirectXShaderCompiler
- ref: main
- path: DXC
- submodules: true
- name: Checkout LLVM
uses: actions/checkout at df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
@@ -61,20 +55,27 @@ jobs:
python-version: '3.x'
- name: Install test dependencies
run: python -m pip install -r OffloadTest/test/requirements.txt
- - name: Build DXC
+ - name: Download DXC validator
run: |
- cd DXC
- mkdir build
- cd build
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -C ${{ github.workspace }}/DXC/cmake/caches/PredefinedParams.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DHLSL_DISABLE_SOURCE_GENERATION=On ${{ github.workspace }}/DXC/
- ninja dxv
+ nuget install Microsoft.Direct3D.DXC -Version $env:DXC_VERSION -OutputDirectory DXC -ExcludeVersion -NonInteractive
+ $dxcDir = "${{ github.workspace }}/DXC/Microsoft.Direct3D.DXC/build/native/bin/x64"
+ foreach ($file in @("dxv.exe", "dxcompiler.dll", "dxil.dll")) {
+ if (-not (Test-Path "$dxcDir/$file")) {
+ throw "$file was not found in Microsoft.Direct3D.DXC $env:DXC_VERSION"
+ }
+ }
+ "DXC_DIR=$dxcDir" >> $env:GITHUB_ENV
- name: Build LLVM
run: |
cd llvm-project
mkdir build
cd build
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DDXC_DIR=${{ github.workspace }}/DXC/build/bin -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
+ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DLLVM_USE_LINKER=lld -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DDXC_DIR=$env:DXC_DIR -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
ninja hlsl-test-depends
+ - name: Show sccache statistics
+ if: always()
+ shell: bash
+ run: sccache --show-stats || true
- name: Run HLSL Tests
run: |
cd llvm-project
>From b0ef585c93af8ed68e809889d71cd2a21f0e8b87 Mon Sep 17 00:00:00 2001
From: Helena Kotas <hekotas at microsoft.com>
Date: Mon, 28 Sep 2026 18:30:17 -0700
Subject: [PATCH 5/8] [HLSL] Expose packaged DXC validator
Normalize the NuGet validator directory and add it to PATH so clang-dxc can find dxv.exe. Remove the unused sccache configuration and reporting step.
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
---
.github/workflows/hlsl-test-all.yaml | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/hlsl-test-all.yaml b/.github/workflows/hlsl-test-all.yaml
index 69deae8d130ee..653074f5c7d16 100644
--- a/.github/workflows/hlsl-test-all.yaml
+++ b/.github/workflows/hlsl-test-all.yaml
@@ -64,18 +64,16 @@ jobs:
throw "$file was not found in Microsoft.Direct3D.DXC $env:DXC_VERSION"
}
}
+ $dxcDir = $dxcDir.Replace('\', '/')
"DXC_DIR=$dxcDir" >> $env:GITHUB_ENV
+ $dxcDir >> $env:GITHUB_PATH
- name: Build LLVM
run: |
cd llvm-project
mkdir build
cd build
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DLLVM_USE_LINKER=lld -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -C ${{ github.workspace }}/OffloadTest/cmake/caches/sccache.cmake -DDXC_DIR=$env:DXC_DIR -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
+ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DLLVM_USE_LINKER=lld -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -DDXC_DIR=$env:DXC_DIR -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
ninja hlsl-test-depends
- - name: Show sccache statistics
- if: always()
- shell: bash
- run: sccache --show-stats || true
- name: Run HLSL Tests
run: |
cd llvm-project
>From 4a4f8e52c7414d1c799ac5bfbadbe340d2382ffb Mon Sep 17 00:00:00 2001
From: Helena Kotas <hekotas at microsoft.com>
Date: Mon, 28 Sep 2026 19:12:04 -0700
Subject: [PATCH 6/8] [HLSL] Suppress clang-cl PCH macro warnings
Keep precompiled headers enabled for build performance while hiding expected static-library macro mismatch diagnostics.
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
---
.github/workflows/hlsl-test-all.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/hlsl-test-all.yaml b/.github/workflows/hlsl-test-all.yaml
index 653074f5c7d16..9f3b5c36e8089 100644
--- a/.github/workflows/hlsl-test-all.yaml
+++ b/.github/workflows/hlsl-test-all.yaml
@@ -72,7 +72,7 @@ jobs:
cd llvm-project
mkdir build
cd build
- cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DLLVM_USE_LINKER=lld -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -DDXC_DIR=$env:DXC_DIR -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
+ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_CXX_FLAGS=-Wno-clang-cl-pch -DLLVM_USE_LINKER=lld -C ${{ github.workspace }}/llvm-project/clang/cmake/caches/HLSL.cmake -DDXC_DIR=$env:DXC_DIR -DLLVM_EXTERNAL_OFFLOADTEST_SOURCE_DIR=${{ github.workspace }}/OffloadTest -DLLVM_EXTERNAL_PROJECTS="OffloadTest" -DLLVM_LIT_ARGS="--xunit-xml-output=testresults.xunit.xml -v" -DOFFLOADTEST_WARP_ONLY=On -DGOLDENIMAGE_DIR=${{ github.workspace }}/golden-images ${{ github.workspace }}/llvm-project/llvm/
ninja hlsl-test-depends
- name: Run HLSL Tests
run: |
>From d844aaa41d23c49c978575a8cd13b8b5aee95bf8 Mon Sep 17 00:00:00 2001
From: Helena Kotas <hekotas at microsoft.com>
Date: Tue, 29 Sep 2026 09:32:24 -0700
Subject: [PATCH 7/8] [HLSL] Use latest stable DXC validator
Let NuGet resolve the current stable Microsoft.Direct3D.DXC package while retaining a version-independent validator path.
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
---
.github/workflows/hlsl-test-all.yaml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/hlsl-test-all.yaml b/.github/workflows/hlsl-test-all.yaml
index 9f3b5c36e8089..90a3617552252 100644
--- a/.github/workflows/hlsl-test-all.yaml
+++ b/.github/workflows/hlsl-test-all.yaml
@@ -22,8 +22,6 @@ on:
jobs:
build:
runs-on: ${{ inputs.SKU }}
- env:
- DXC_VERSION: 1.9.2607.13
steps:
- name: Setup Windows
if: runner.os == 'Windows'
@@ -57,11 +55,11 @@ jobs:
run: python -m pip install -r OffloadTest/test/requirements.txt
- name: Download DXC validator
run: |
- nuget install Microsoft.Direct3D.DXC -Version $env:DXC_VERSION -OutputDirectory DXC -ExcludeVersion -NonInteractive
+ nuget install Microsoft.Direct3D.DXC -OutputDirectory DXC -ExcludeVersion -NonInteractive
$dxcDir = "${{ github.workspace }}/DXC/Microsoft.Direct3D.DXC/build/native/bin/x64"
foreach ($file in @("dxv.exe", "dxcompiler.dll", "dxil.dll")) {
if (-not (Test-Path "$dxcDir/$file")) {
- throw "$file was not found in Microsoft.Direct3D.DXC $env:DXC_VERSION"
+ throw "$file was not found in Microsoft.Direct3D.DXC"
}
}
$dxcDir = $dxcDir.Replace('\', '/')
>From 4903cc3f5e2e056dcce0fea5f3899fac3425a78e Mon Sep 17 00:00:00 2001
From: Helena Kotas <hekotas at microsoft.com>
Date: Tue, 29 Sep 2026 13:53:49 -0700
Subject: [PATCH 8/8] [HLSL] Make tested LLVM revision explicit
Checkout the triggering workflow SHA explicitly so pull request validation continues to test the PR merge commit rather than main.
Co-authored-by: Copilot App <223556219+Copilot at users.noreply.github.com>
---
.github/workflows/hlsl-test-all.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/hlsl-test-all.yaml b/.github/workflows/hlsl-test-all.yaml
index 90a3617552252..5e6d85221d8db 100644
--- a/.github/workflows/hlsl-test-all.yaml
+++ b/.github/workflows/hlsl-test-all.yaml
@@ -32,6 +32,7 @@ jobs:
uses: actions/checkout at 3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
+ ref: ${{ github.sha }}
path: llvm-project
- name: Checkout OffloadTest
uses: actions/checkout at 3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
More information about the llvm-commits
mailing list