From 2cf53207992aad47a3a8bc5b316d599c257805b4 Mon Sep 17 00:00:00 2001 From: Carl Philipp Klemm Date: Tue, 16 Sep 2025 11:17:56 +0200 Subject: [PATCH] CI: Enable the uploading of packaged build artifacts --- .gitea/workflows/build.yml | 12 +++++++----- cmake/GitVersion.cmake | 28 +++++++++++----------------- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index ab84902..a672478 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -10,13 +10,15 @@ jobs: run: apt update; apt install -y libusb-1.0-0-dev cmake - name: Check out repository code uses: ischanx/checkout@8c80eac3058d03dc5301629e8f7d59ae255d6cc3 + - name: Version + id: version + run: git fetch -a; echo "tag=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_OUTPUT - name: Build - run: mkdir ${{ gitea.workspace }}/build; cd ${{ gitea.workspace }}/build; cmake -DCMAKE_BUILD_TYPE=Release ..; make + run: mkdir ${{ gitea.workspace }}/build; cd ${{ gitea.workspace }}/build; cmake -DCMAKE_BUILD_TYPE=Release -DGIT_TAG=${{ steps.version.outputs.tag }} ..; make - name: Package run: cd ${{ gitea.workspace }}/build; make package - name: Upload artifacts - uses: https://gitea.com/actions/upload-artifact.git@v4.6.2 + uses: actions/upload-artifact@v3 with: - name: package-linux - path: eismultiplexer-linux-*.zip - + name: eismultiplexer-linux-x86_64-${{ steps.version.outputs.tag }} + path: ${{ gitea.workspace }}/build/packaged/${{ steps.version.outputs.tag }}/* diff --git a/cmake/GitVersion.cmake b/cmake/GitVersion.cmake index d6b1bcc..b147005 100644 --- a/cmake/GitVersion.cmake +++ b/cmake/GitVersion.cmake @@ -1,25 +1,19 @@ function(get_version_from_git) find_package(Git REQUIRED) - execute_process( - COMMAND ${GIT_EXECUTABLE} describe --tags --always - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE GIT_TAG - OUTPUT_STRIP_TRAILING_WHITESPACE - RESULT_VARIABLE GIT_RESULT - ) - - if(NOT GIT_RESULT EQUAL 0) - message(FATAL_ERROR "Failed to get git tag") + if(NOT GIT_TAG) + execute_process( + COMMAND ${GIT_EXECUTABLE} describe --tags --always + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_TAG + OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE GIT_RESULT + ) + if(NOT GIT_RESULT EQUAL 0) + message(FATAL_ERROR "Failed to get git tag") + endif() endif() - execute_process( - COMMAND ${GIT_EXECUTABLE} rev-parse --short=7 HEAD - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE GIT_COMMIT_SHORT_HASH - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - string(REGEX REPLACE "^v" "" CLEAN_TAG "${GIT_TAG}") if(CLEAN_TAG MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(-.*)?$")