on: push: tags: - 'v*' name: Create Release jobs: windows-binary: runs-on: windows-2022 strategy: matrix: VER: [v143] GEN: [Visual Studio 17 2022] BIN: [x64, x86] steps: - name: Checkout OpenCL-SDK uses: actions/checkout@v2 - name: Initialize git submodules shell: pwsh run: | & git submodule init & git submodule update - name: Create Build Environment shell: pwsh run: | # Parallelize MSBuild across projects [Environment]::SetEnvironmentVariable('UseMultiToolTask', 'true', [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable('EnforceProcessCountAcrossBuilds', 'true', [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable('MultiProcMaxCount', "$env:NUMBER_OF_PROCESSORS", [EnvironmentVariableTarget]::User) - name: Configure shell: pwsh run: | $Bin = if('${{matrix.BIN}}' -eq 'x86') {'Win32'} else {'x64'} & cmake ` -G '${{matrix.GEN}}' ` -A ${Bin} ` -T ${{matrix.VER}} ` -S "${env:GITHUB_WORKSPACE}" ` -B "${env:GITHUB_WORKSPACE}\build" ` -D BUILD_DOCS=OFF ` -D BUILD_TESTING=OFF ` -D BUILD_EXAMPLES=OFF ` -D OPENCL_SDK_BUILD_SAMPLES=OFF ` -D OPENCL_ICD_LOADER_BUILD_TESTING=OFF ` -D CMAKE_POLICY_DEFAULT_CMP0096=NEW - name: Check version number shell: pwsh run: | if ( -not (` Get-Content ${env:GITHUB_WORKSPACE}\build\CMakeCache.txt | ` Select-String -Pattern ('CMAKE_PROJECT_VERSION:STATIC=' + '${{github.ref_name}}'.Replace('v','')) ` )) ` { throw 'CMake project version mismatches Git tag name (without leading "v")'} - name: Build shell: pwsh run: | foreach ($Config in "Debug","Release") { ` & cmake ` --build "${env:GITHUB_WORKSPACE}\build" ` --config $Config ` -- ` /verbosity:minimal ` /noLogo ` } - name: Package Binary shell: pwsh run: | & cpack ` --config "${env:GITHUB_WORKSPACE}\build\CPackConfig.cmake" ` -G ZIP ` -C 'Debug;Release' ` -D CPACK_PACKAGE_FILE_NAME='OpenCL-SDK-${{github.ref_name}}-Win-${{matrix.BIN}}' ` -B "${env:GITHUB_WORKSPACE}\package" - name: Upload Package uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: draft: true files: | package/OpenCL-SDK-${{github.ref_name}}-Win-${{matrix.BIN}}.zip source: name: Source Release (${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: matrix: OS: [ubuntu-20.04, windows-2022] steps: - name: Checkout OpenCL-SDK uses: actions/checkout@v2 - name: Initialize git submodules shell: pwsh run: | & git submodule init & git submodule update - name: Configure shell: pwsh run: | & cmake ` -S "${env:GITHUB_WORKSPACE}" ` -B "${env:GITHUB_WORKSPACE}/build" ` -D BUILD_DOCS=OFF ` -D BUILD_TESTING=OFF ` -D BUILD_EXAMPLES=OFF ` -D OPENCL_SDK_BUILD_SAMPLES=OFF ` -D OPENCL_ICD_LOADER_BUILD_TESTING=OFF ` -D CMAKE_POLICY_DEFAULT_CMP0096=NEW - name: Check version number shell: pwsh run: | if ( -not (` Get-Content ${env:GITHUB_WORKSPACE}/build/CMakeCache.txt | ` Select-String -Pattern ('CMAKE_PROJECT_VERSION:STATIC=' + '${{github.ref_name}}'.Replace('v','')) ` )) ` { throw 'CMake project version mismatches Git tag name (without leading "v")'} - name: Package Source shell: pwsh run: | $Generator = if('${{matrix.OS}}' -match 'windows') {'ZIP'} else {'TGZ'} & cpack ` --config "${env:GITHUB_WORKSPACE}/build/CPackSourceConfig.cmake" ` -G $Generator ` -C Release ` -D CPACK_SOURCE_IGNORE_FILES="/\\.git/;/\\.gitignore;/\\.gitmodules;/\\.gitlab/;/\\.github/;/\\.reuse/;/\\.appveyor.yml;/build/;/install/;/package/" ` -D CPACK_PACKAGE_FILE_NAME='OpenCL-SDK-${{github.ref_name}}-Source' ` -B "${env:GITHUB_WORKSPACE}/package" - name: Release Source uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: draft: true files: | package/OpenCL-SDK-${{github.ref_name}}-Source.*