Skip to content

Commit 6848afa

Browse files
committed
Fix release versioning: derive package version from git tag
- Pass tag version to CMake via -DPROJECT_VERSION_OVERRIDE - Use CPACK_DEBIAN_FILE_NAME DEB-DEFAULT for proper deb naming - Default project version is 0.0.0 (overridden in CI)
1 parent fcb28bf commit 6848afa

2 files changed

Lines changed: 15 additions & 3 deletions

File tree

.github/workflows/release.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ jobs:
2020
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
2121

2222
- name: Configure
23-
run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF
23+
run: |
24+
VERSION=${GITHUB_REF_NAME#v}
25+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF \
26+
-DPROJECT_VERSION_OVERRIDE=$VERSION
2427
2528
- name: Build
2629
run: cmake --build build --parallel
@@ -60,7 +63,10 @@ jobs:
6063
- uses: actions/checkout@v4
6164

6265
- name: Configure
63-
run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF
66+
run: |
67+
VERSION=${GITHUB_REF_NAME#v}
68+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF \
69+
-DPROJECT_VERSION_OVERRIDE=$VERSION
6470
6571
- name: Build
6672
run: cmake --build build --parallel

CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
cmake_minimum_required(VERSION 3.20)
22
cmake_policy(SET CMP0135 NEW)
3-
project(HowUtility VERSION 1.0 LANGUAGES CXX)
3+
project(HowUtility VERSION 0.0.0 LANGUAGES CXX)
4+
5+
# Allow overriding version from the command line (e.g. -DPROJECT_VERSION_OVERRIDE=0.0.3)
6+
if(DEFINED PROJECT_VERSION_OVERRIDE)
7+
set(PROJECT_VERSION ${PROJECT_VERSION_OVERRIDE})
8+
endif()
49

510
set(CMAKE_CXX_STANDARD 20)
611
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -140,6 +145,7 @@ set(CPACK_PACKAGE_CONTACT "Mattias Lindblad")
140145
set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/matlimatli/how")
141146

142147
# Debian
148+
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
143149
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libcurl4")
144150
set(CPACK_DEBIAN_PACKAGE_SECTION "utils")
145151
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA

0 commit comments

Comments
 (0)