Skip to content

Commit 5c99e4d

Browse files
Release fixes (#59)
* Update project version * Improve MSBuild parallelism * Disambiguate matrix and shell variables * Add check for matching tag and project versions * Specify package name through CPack, not rename * Preserve leading zeroes in versions numbers * Fix build dir for version check * Add missing build step * Don't build CLHPP examples
1 parent e9f692b commit 5c99e4d

2 files changed

Lines changed: 41 additions & 28 deletions

File tree

.github/workflows/release.yml

Lines changed: 40 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,54 +29,58 @@ jobs:
2929
run: |
3030
# Parallelize MSBuild across projects
3131
[Environment]::SetEnvironmentVariable('UseMultiToolTask', 'true', [EnvironmentVariableTarget]::User)
32+
[Environment]::SetEnvironmentVariable('EnforceProcessCountAcrossBuilds', 'true', [EnvironmentVariableTarget]::User)
33+
[Environment]::SetEnvironmentVariable('MultiProcMaxCount', "$env:NUMBER_OF_PROCESSORS", [EnvironmentVariableTarget]::User)
3234
3335
- name: Configure
3436
shell: pwsh
3537
run: |
36-
$BIN = if('${{matrix.BIN}}' -eq 'x86') {'Win32'} else {'x64'}
38+
$Bin = if('${{matrix.BIN}}' -eq 'x86') {'Win32'} else {'x64'}
3739
& cmake `
3840
-G '${{matrix.GEN}}' `
39-
-A ${BIN} `
41+
-A ${Bin} `
4042
-T ${{matrix.VER}} `
4143
-S "${env:GITHUB_WORKSPACE}" `
4244
-B "${env:GITHUB_WORKSPACE}\build" `
4345
-D BUILD_DOCS=OFF `
4446
-D BUILD_TESTING=OFF `
45-
-D BUILD_TESTS=OFF `
47+
-D BUILD_EXAMPLES=OFF `
4648
-D OPENCL_SDK_BUILD_SAMPLES=OFF `
47-
-D OPENCL_ICD_LOADER_BUILD_TESTING=OFF
49+
-D OPENCL_ICD_LOADER_BUILD_TESTING=OFF `
50+
-D CMAKE_POLICY_DEFAULT_CMP0096=NEW
4851
49-
- name: Build
52+
- name: Check version number
5053
shell: pwsh
5154
run: |
52-
& cmake `
53-
--build "${env:GITHUB_WORKSPACE}\build" `
54-
--config Release `
55-
-- `
56-
/verbosity:minimal `
57-
/maxCpuCount `
58-
/noLogo
59-
60-
- name: Install
55+
if ( -not (`
56+
Get-Content ${env:GITHUB_WORKSPACE}\build\CMakeCache.txt | `
57+
Select-String -Pattern ('CMAKE_PROJECT_VERSION:STATIC=' + '${{github.ref_name}}'.Replace('v','')) `
58+
)) `
59+
{ throw 'CMake project version mismatches Git tag name (without leading "v")'}
60+
61+
- name: Build
6162
shell: pwsh
6263
run: |
63-
& cmake `
64-
--install "${env:GITHUB_WORKSPACE}\build" `
65-
--prefix "${env:GITHUB_WORKSPACE}\install" `
66-
--config Release
67-
64+
foreach ($Config in "Debug","Release") { `
65+
& cmake `
66+
--build "${env:GITHUB_WORKSPACE}\build" `
67+
--config $Config `
68+
-- `
69+
/verbosity:minimal `
70+
/noLogo `
71+
}
72+
6873
- name: Package Binary
6974
shell: pwsh
7075
run: |
71-
$BIN = if('${{matrix.BIN}}' -eq 'x86') {'win32'} else {'win64'}
7276
& cpack `
7377
--config "${env:GITHUB_WORKSPACE}\build\CPackConfig.cmake" `
7478
-G ZIP `
75-
-C Release `
79+
-C 'Debug;Release' `
80+
-D CPACK_PACKAGE_FILE_NAME='OpenCL-SDK-${{github.ref_name}}-Win-${{matrix.BIN}}' `
7681
-B "${env:GITHUB_WORKSPACE}\package"
77-
Rename-Item "${env:GITHUB_WORKSPACE}\package\OpenCL-SDK-*.zip" "OpenCL-SDK-${{github.ref_name}}-Win-${{matrix.BIN}}.zip"
7882
79-
- name: Release Binary
83+
- name: Upload Package
8084
uses: softprops/action-gh-release@v1
8185
if: startsWith(github.ref, 'refs/tags/')
8286
with:
@@ -109,22 +113,31 @@ jobs:
109113
-B "${env:GITHUB_WORKSPACE}/build" `
110114
-D BUILD_DOCS=OFF `
111115
-D BUILD_TESTING=OFF `
112-
-D BUILD_TESTS=OFF `
116+
-D BUILD_EXAMPLES=OFF `
113117
-D OPENCL_SDK_BUILD_SAMPLES=OFF `
114118
-D OPENCL_ICD_LOADER_BUILD_TESTING=OFF `
115-
-D CPACK_SOURCE_IGNORE_FILES="/\\.git/;/\\.gitignore;/\\.gitmodules;/\\.gitlab/;/\\.github/;/\\.reuse/;/\\.appveyor.yml;/build/;/install/;/package/"
119+
-D CMAKE_POLICY_DEFAULT_CMP0096=NEW
120+
121+
- name: Check version number
122+
shell: pwsh
123+
run: |
124+
if ( -not (`
125+
Get-Content ${env:GITHUB_WORKSPACE}/build/CMakeCache.txt | `
126+
Select-String -Pattern ('CMAKE_PROJECT_VERSION:STATIC=' + '${{github.ref_name}}'.Replace('v','')) `
127+
)) `
128+
{ throw 'CMake project version mismatches Git tag name (without leading "v")'}
116129
117130
- name: Package Source
118131
shell: pwsh
119132
run: |
120133
$Generator = if('${{matrix.OS}}' -match 'windows') {'ZIP'} else {'TGZ'}
121-
$Extension = if('${{matrix.OS}}' -match 'windows') {'zip'} else {'tar.gz'}
122134
& cpack `
123135
--config "${env:GITHUB_WORKSPACE}/build/CPackSourceConfig.cmake" `
124136
-G $Generator `
125137
-C Release `
138+
-D CPACK_SOURCE_IGNORE_FILES="/\\.git/;/\\.gitignore;/\\.gitmodules;/\\.gitlab/;/\\.github/;/\\.reuse/;/\\.appveyor.yml;/build/;/install/;/package/" `
139+
-D CPACK_PACKAGE_FILE_NAME='OpenCL-SDK-${{github.ref_name}}-Source' `
126140
-B "${env:GITHUB_WORKSPACE}/package"
127-
Rename-Item "${env:GITHUB_WORKSPACE}/package/OpenCL-SDK-*.${Extension}" "OpenCL-SDK-${{github.ref_name}}-Source.${Extension}"
128141
129142
- name: Release Source
130143
uses: softprops/action-gh-release@v1

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ cmake_minimum_required(VERSION 3.0)
1717
set(CMAKE_CXX_STANDARD 14)
1818

1919
project(OpenCL-SDK
20-
VERSION 2022.05.18
20+
VERSION 2022.09.23
2121
LANGUAGES
2222
C CXX
2323
)

0 commit comments

Comments
 (0)