@@ -17,7 +17,12 @@ inputs:
1717 required : false
1818 cxx_compiler :
1919 required : false
20-
20+ build_cache_root :
21+ required : false
22+ build_cache_suffix :
23+ type : string
24+ required : false
25+ default : " default"
2126
2227runs :
2328 using : " composite"
@@ -48,18 +53,38 @@ runs:
4853 env :
4954 CMAKE_EXTRA_ARGS : ${{ inputs.extra_cmake_args }}
5055 run : |
56+ CMPLR="${{ inputs.cxx_compiler || '$(which clang++)'}}"
5157 if [ -n "$CMAKE_EXTRA_ARGS" ]; then
5258 echo "opts=$CMAKE_EXTRA_ARGS" >> $GITHUB_OUTPUT
5359 fi
60+ if [ -n "${{ inputs.build_cache_root }}" ]; then
61+ CCACHE_PATH="$(dirname $CMPLR)"
62+ echo "CCACHE_COMPILER=clang++" >> $GITHUB_ENV
63+ echo "CCACHE_PATH=$CCACHE_PATH/real" >> $GITHUB_ENV
64+ echo "CCACHE_DIR=${{ inputs.build_cache_root }}/build_cache_${{ inputs.build_cache_suffix }}" >> $GITHUB_ENV
65+ echo "CCACHE_MAXSIZE=5G" >> $GITHUB_ENV
66+ if [ ! -f "$CCACHE_PATH/real/clang++" ]; then
67+ # sudo ln -s "$(which ccache)" "$CMPLR"
68+ mkdir -p "$CCACHE_PATH/real"
69+ ln -s "$CCACHE_PATH/clang" "$CCACHE_PATH/real/clang++"
70+ rm "$CMPLR"
71+ ln -s "$(which ccache)" "$CMPLR"
72+ fi
73+ DPCPP_PATH="$(dirname $CCACHE_PATH)"
74+ echo "dpcpp_path=$DPCPP_PATH" >> $GITHUB_OUTPUT
75+ mkdir -p $CCACHE_DIR
76+ fi
77+ #todo fix dpcpp_path when not using ccache
78+ echo "CMPLR=$CMPLR" >> $GITHUB_ENV
5479 - name : Configure E2E tests
5580 if : inputs.testing_mode != 'run-only'
5681 shell : bash
5782 run : |
58- cmake -GNinja -B./build-e2e -S./llvm/sycl/test-e2e -DCMAKE_CXX_COMPILER="${{ inputs.cxx_compiler || '$(which clang++)'}}" -DLLVM_LIT="$PWD/llvm/llvm/utils/lit/lit.py" ${{ steps.cmake_opts.outputs.opts }}
83+ ls -la /__w/llvm/llvm/toolchain/bin/real
84+ cmake -GNinja -B./build-e2e -S./llvm/sycl/test-e2e -DCMAKE_CXX_COMPILER="$CMPLR" -DLLVM_LIT="$PWD/llvm/llvm/utils/lit/lit.py" ${{ steps.cmake_opts.outputs.opts }}
85+ echo "LIT_OPTS=-v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests --param print_features=True --param test-mode=${{ inputs.testing_mode }} --param sycl_devices=${{ inputs.target_devices }} --param dpcpp_path=${{ steps.cmake_opts.outputs.dpcpp_path }}" >> $GITHUB_ENV
5986 - name : SYCL End-to-end tests
6087 shell : bash {0}
61- env :
62- LIT_OPTS : -v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests --param print_features=True --param test-mode=${{ inputs.testing_mode }} --param sycl_devices=${{ inputs.target_devices }} ${{ inputs.extra_lit_opts }}
6388 run : |
6489 ninja -C build-e2e check-sycl-e2e > e2e.log 2>&1
6590 exit_code=$?
0 commit comments