83 lines · yaml
1name: HLSL Test2 3permissions:4 contents: read5 6on:7 workflow_call:8 inputs:9 OffloadTest-branch:10 description: 'Test Suite Branch'11 required: false12 default: 'main'13 type: string14 LLVM-ref:15 description: 'LLVM Branch'16 required: false17 default: 'main'18 type: string19 SKU:20 required: true21 type: string22 TestTarget:23 required: false24 default: 'check-hlsl'25 type: string26 27jobs:28 build:29 runs-on: ${{ inputs.SKU }}30 steps:31 - name: Checkout DXC32 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.033 with:34 repository: Microsoft/DirectXShaderCompiler35 ref: main36 path: DXC37 submodules: true38 - name: Checkout LLVM39 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.040 with:41 ref: ${{ inputs.LLVM-branch }}42 path: llvm-project43 - name: Checkout OffloadTest44 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.045 with:46 repository: llvm/offload-test-suite47 ref: main48 path: OffloadTest49 - name: Checkout Golden Images50 uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.051 with:52 repository: llvm/offload-golden-images53 ref: main54 path: golden-images55 - name: Build DXC56 run: |57 cd DXC58 mkdir build59 cd build60 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/61 ninja dxv llvm-dis62 - name: Build LLVM63 run: |64 cd llvm-project65 mkdir build66 cd build67 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/68 ninja hlsl-test-depends llvm-test-depends clang-test-depends69 - name: Run HLSL Tests70 run: |71 cd llvm-project72 cd build73 ninja check-llvm74 ninja check-clang75 ninja check-hlsl-unit76 ninja ${{ inputs.TestTarget }}77 - name: Publish Test Results78 uses: EnricoMi/publish-unit-test-result-action/macos@34d7c956a59aed1bfebf31df77b8de55db9bbaaf # v2.21.079 if: always() && runner.os == 'macOS'80 with:81 comment_mode: off82 files: llvm-project/build/**/testresults.xunit.xml83