Weekly full CTS run #3
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: Weekly full CTS run | |
on: | |
workflow_dispatch: | |
schedule: | |
# at 14:01 every friday | |
- cron: '01 14 * * 5' | |
env: | |
POCL_CACHE_DIR: "/tmp/GH_POCL_CACHE" | |
POCL_KERNEL_CACHE: "0" | |
POCL_MAX_PTHREAD_COUNT: "2" | |
POCL_MAX_WORK_GROUP_SIZE: "1024" | |
POCL_MEMORY_LIMIT: "2" | |
CCACHE_COMPRESS: "true" | |
CCACHE_COMPRESSLEVEL: "1" | |
CCACHE_MAXSIZE: "25000M" | |
CCACHE_BASEDIR: ${{ github.workspace }} | |
CCACHE_DIR: /home/github/ccache_storage | |
jobs: | |
build: | |
name: LLVM ${{ matrix.llvm }} - ${{ matrix.config }} | |
runs-on: [self-hosted, linux, x64, full_cts] | |
timeout-minutes: 1440 | |
strategy: | |
fail-fast: false | |
matrix: | |
llvm: [17] | |
config: [cts_full] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run CMake | |
id: cmake | |
run: | | |
rm -rf ${{ github.workspace }}/build | |
mkdir ${{ github.workspace }}/build | |
BUILD_FLAGS="-O2 -march=native" | |
cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ | |
-DCMAKE_BUILD_TYPE=Release "-DCMAKE_C_FLAGS_RELEASE=$BUILD_FLAGS" "-DCMAKE_CXX_FLAGS_RELEASE=$BUILD_FLAGS" \ | |
-DWITH_LLVM_CONFIG=/usr/bin/llvm-config-${{ matrix.llvm }} -DLLVM_SPIRV=/usr/bin/llvm-spirv-${{ matrix.llvm }} \ | |
-DTESTSUITE_SOURCE_BASEDIR=/home/github/examples/source -DTESTSUITE_BASEDIR=/home/github/examples/build_cts -DENABLE_TESTSUITES=conformance -DENABLE_CONFORMANCE=ON \ | |
-B ${{ github.workspace }}/build ${{ github.workspace }} | |
- name: Run Build | |
id: build | |
run: | | |
cd ${{ github.workspace }}/build && make -j$(nproc) && make -j$(nproc) prepare_examples | |
- name: Run Tests | |
id: ctest | |
run: | | |
runCTest() { | |
cd ${{ github.workspace }}/build && ctest --output-on-failure -j$(nproc) --test-output-size-passed 128000 --test-output-size-failed 128000 --test-output-truncation head --repeat until-pass:3 "$@" | |
} | |
if [ "${{ matrix.config }}" == "cts_full" ]; then | |
runCTest -L conformance_suite_full_main | |
elif [ "${{ matrix.config }}" == "cts_spirv" ]; then | |
runCTest -L conformance_suite_full_spirv | |
else | |
echo "Unknown configuration" && exit 1 | |
fi |