Example program manipulate_current_device: Don't fail inadvertantly…
#861
This file contains hidden or 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: Windows build | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [ master, development, driver-wrappers, workflows ] | |
| paths: | |
| - "**" | |
| - "!.github/**" | |
| - ".github/action-scripts/install-cuda-windows.ps1" | |
| - ".github/workflows/cmake-build-windows.yml" | |
| pull_request: | |
| branches: [ master, development, driver-wrappers, workflows ] | |
| paths: | |
| - "**" | |
| - "!.github/**" | |
| - ".github/action-scripts/install-cuda-windows.ps1" | |
| - ".github/workflows/cmake-build-windows.yml" | |
| jobs: | |
| build: | |
| # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| # explicit include-based build matrix, of known valid options | |
| matrix: | |
| include: | |
| - os: windows-2025 | |
| cuda: "13.0.2" | |
| visual-studio: "Visual Studio 17 2022" | |
| shell: "powershell" | |
| os-type: "windows" | |
| cmake-platform-flag: "-A x64" | |
| - os: windows-2022 | |
| cuda: "12.8.1" | |
| visual-studio: "Visual Studio 17 2022" | |
| shell: "powershell" | |
| os-type: "windows" | |
| cmake-platform-flag: "-A x64" | |
| - os: windows-2022 | |
| cuda: "12.6.3" | |
| visual-studio: "Visual Studio 17 2022" | |
| shell: "powershell" | |
| os-type: "windows" | |
| cmake-platform-flag: "-A x64" | |
| - os: windows-2022 | |
| cuda: "12.6.2" | |
| visual-studio: "Visual Studio 17 2022" | |
| shell: "powershell" | |
| os-type: "windows" | |
| cmake-platform-flag: "-A x64" | |
| - os: windows-2022 | |
| cuda: "12.5.1" | |
| visual-studio: "Visual Studio 17 2022" | |
| hell: "powershell" | |
| os-type: "windows" | |
| cmake-platform-flag: "-A x64" | |
| - os: windows-2022 | |
| cuda: "12.4.1" | |
| visual-studio: "Visual Studio 17 2022" | |
| shell: "powershell" | |
| os-type: "windows" | |
| cmake-platform-flag: "-A x64" | |
| # The windows-2019 images for GitHub actions have been retired | |
| # - os: windows-2019 | |
| # cuda: "12.3.2" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "12.2.2" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "12.1.1" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "12.0.1" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.8.0" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.7.0" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.6.2" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.6.1" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.6.0" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.5.0" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.4.0" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.3.0" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.2.2" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.1.1" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "11.0.3" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # Are CUDA 10.1 and 10.2 even supported on the windows-2019 images and with MSVS 16? | |
| # | |
| # - os: windows-2019 | |
| # cuda: "10.2.89" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # - os: windows-2019 | |
| # cuda: "10.1.243" | |
| # visual-studio: "Visual Studio 16 2019" | |
| # shell: "powershell" | |
| # os-type: "windows" | |
| # cmake-platform-flag: "-A x64" | |
| # The windows-2016 images for GitHub actions have been retired | |
| # - os: windows-2016 | |
| # cuda: "11.0.167" | |
| # visual-studio: "Visual Studio 15 2017" | |
| # - os: windows-2016 | |
| # cuda: "10.2.89" | |
| # visual-studio: "Visual Studio 15 2017" | |
| # - os: windows-2016 | |
| # cuda: "10.1.243" | |
| # visual-studio: "Visual Studio 15 2017" | |
| # - os: windows-2016 | |
| # cuda: "10.0.130" | |
| # visual-studio: "Visual Studio 15 2017" | |
| env: | |
| build_type: "Release" | |
| cmake-generator: "${{ matrix.visual-studio }}" | |
| visual_studio: "${{ matrix.visual-studio }}" | |
| build_dir: "build" | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Install CMake | |
| uses: ssrobins/install-cmake@v1 | |
| - name: Install CUDA on Ubuntu systems | |
| if: contains(matrix.os, 'ubuntu') | |
| env: | |
| cuda: ${{ matrix.cuda }} | |
| run: .github/action-scripts/install-cuda-ubuntu.sh | |
| shell: bash | |
| - name: Install CUDA on Windows | |
| if: contains(matrix.os, 'windows') | |
| env: | |
| cuda: ${{ matrix.cuda }} | |
| run: .github\action-scripts\install-cuda-windows.ps1 | |
| shell: powershell | |
| # - name: Check CUDA installation has succeeded - by logging some paths | |
| # - if ${{ matrix.os-type == 'windows' }} | |
| # run: | | |
| # nvcc -V | |
| # ls $env:CUDA_PATH | |
| # ls $env:CUDA_PATH\bin | |
| # ls $env:CUDA_PATH\include | |
| - name: CMake configure | |
| id: configure | |
| run: cmake -B ${{ env.build_dir }} -G "${{ env.cmake-generator }}" ${{ matrix.cmake-platform-flag }} -DCAW_BUILD_EXAMPLES=ON | |
| - name: Process potential errors in CMake configuration | |
| if: ${{ failure() && steps.configure.outcome == 'failure' }} | |
| working-directory: ${{ env.build_dir }} | |
| run: | | |
| cmake --version | |
| if [[ -f "CMakeFiles/CMakeOutput.log" ]]; then | |
| echo "---- CMakeFiles/CMakeOutput.log" | |
| cat CMakeFiles/CMakeOutput.log | |
| echo "----" | |
| fi | |
| if [[ -f "CMakeFiles/CMakeError.log" ]]; then | |
| echo "---- CMakeFiles/CMakeError.log" | |
| cat CMakeFiles/CMakeError.log | |
| echo "----" | |
| fi | |
| shell: bash | |
| - name: Build | |
| run: | |
| cmake --version ; | |
| cmake --build ${{ env.build_dir }} --config ${{ env.build_type }} --verbose | |
| # - name: Test | |
| # working-directory: ${{github.workspace}}/build | |
| # There are currently no unit tests defined by the cmake configuration! | |
| # ... plus, the tests will be mostly useless on a machine without a GPU, | |
| # so we can't really test. | |
| # run: ctest -C ${{env.BUILD_TYPE}} | |