Skip to content

force 14.44 developer powershell for llvm + nvcc builds on other builds #244

force 14.44 developer powershell for llvm + nvcc builds on other builds

force 14.44 developer powershell for llvm + nvcc builds on other builds #244

name: CMake on Linux (ARM64)
on:
#push:
# branches: [ $default-branch ]
pull_request:
branches: [ "LTS-C++17"]
jobs:
build:
runs-on: [self-hosted, linux, arm64]
strategy:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations.
#Consider changing this to true when your workflow is stable.
fail-fast: false
matrix: #host,cuda,cuda_version
cpp_compiler: ["g++,nvcc,12.9","clang++,nvcc,12.9","clang++,clang++,12.4"]
#
steps:
- uses: actions/checkout@v4
- name: Set reusable strings
# Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
id: strings
run: |
echo "build-output-dir=${{github.workspace}}/build" >> "$GITHUB_OUTPUT"
- name: Configure CMake
run: |
IFS="," read -r -a cpp_compiler <<< "${{matrix.cpp_compiler}}"
export PATH=/usr/lib/llvm-21/bin/:$PATH
export CUDACXX=/usr/local/cuda-${cpp_compiler[2]}/bin/nvcc
cmake -G "Ninja" -B ${{steps.strings.outputs.build-output-dir}} -DCMAKE_CXX_COMPILER="${cpp_compiler[0]}" -DCMAKE_CUDA_COMPILER="${cpp_compiler[1]}" -DCUDAToolkit_ROOT="/usr/local/cuda-${cpp_compiler[2]}" -DCUDA_ARCH="87;" -DCMAKE_BUILD_TYPE="Release" -S ${{github.workspace}}
- name: Build
# Build your program with the given configuration. Note that --config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
run: >
cmake --build ${{ steps.strings.outputs.build-output-dir }}
--config Release
- name: Test
working-directory: ${{ steps.strings.outputs.build-output-dir }}
# Execute tests defined by the CMake configuration. Note that --build-config is needed because the default Windows generator is a multi-config generator (Visual Studio generator).
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest --build-config Release} --output-junit test_results.xml