Skip to content

Commit cf790d2

Browse files
committed
chore: Fix commit SHA for GitHub PRs
1 parent a9787b1 commit cf790d2

File tree

2 files changed

+22
-11
lines changed

2 files changed

+22
-11
lines changed

.github/actions/cmake/action.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ runs:
5757
STATIC: "${{ inputs.static == 'true' && 'ON' || 'OFF' }}"
5858
TIME_TRACE: "${{ inputs.time_trace == 'true' && 'ON' || 'OFF' }}"
5959
PACKAGE: "${{ inputs.package == 'true' && 'ON' || 'OFF' }}"
60+
# GitHub creates merge commits for PRS, so we:
61+
# - explicitly provide branch name
62+
# - provide `github.event.pull_request.head.sha` to get the actual commit SHA of the PR branch.
63+
GITHUB_REF_NAME: "${{ github.ref_name }}"
64+
GITHUB_HEAD_SHA: "${{ github.event.pull_request.head.sha || github.sha }}"
6065
run: |
6166
cmake \
6267
-B "${BUILD_DIR}" \

cmake/ClioVersion.cmake

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,23 @@ else ()
2424
OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY
2525
)
2626

27-
set(GIT_COMMAND branch --show-current)
28-
execute_process(
29-
COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE BRANCH
30-
OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY
31-
)
32-
33-
set(GIT_COMMAND rev-parse --short HEAD)
34-
execute_process(
35-
COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE REV
36-
OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY
37-
)
27+
if (DEFINED ENV{GITHUB_REF_NAME})
28+
# Please, see cmake action in .github/actions/ for details
29+
set(BRANCH $ENV{GITHUB_REF_NAME})
30+
set(REV $ENV{GITHUB_HEAD_SHA})
31+
else ()
32+
set(GIT_COMMAND branch --show-current)
33+
execute_process(
34+
COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE BRANCH
35+
OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY
36+
)
37+
38+
set(GIT_COMMAND rev-parse --short HEAD)
39+
execute_process(
40+
COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE REV
41+
OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY
42+
)
43+
endif ()
3844

3945
set(CLIO_VERSION "${DATE}-${BRANCH}-${REV}")
4046
set(DOC_CLIO_VERSION "develop")

0 commit comments

Comments
 (0)