148 lines
4.5 KiB
YAML
148 lines
4.5 KiB
YAML
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.* |