From 5c5de0e30e04204ab042a62e035a488163517094 Mon Sep 17 00:00:00 2001 From: Jelle Raaijmakers Date: Wed, 8 Oct 2025 12:40:18 +0200 Subject: [PATCH] Meta: Add COMMIT file to cpack archives This new file in the root of the archives contains the git commit hash, to be used by e.g. the js-benchmarks webhook to determine which commit was used to build the utilities. --- Utilities/CMakeLists.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt index 2afb4d2c5f..dedc30e88f 100644 --- a/Utilities/CMakeLists.txt +++ b/Utilities/CMakeLists.txt @@ -39,9 +39,28 @@ if (ASSERT_FAIL_HAS_INT OR EMSCRIPTEN) target_compile_definitions(test262-runner PRIVATE ASSERT_FAIL_HAS_INT) endif() +# Determine the Git commit hash (fallback to 'unknown' if not a Git repo) +execute_process( + COMMAND git rev-parse HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + OUTPUT_VARIABLE GIT_COMMIT_HASH + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET +) +if (NOT GIT_COMMIT_HASH) + set(GIT_COMMIT_HASH "unknown") +endif() + +# Write it to the build directory +set(GIT_COMMIT_FILE "${CMAKE_BINARY_DIR}/COMMIT") +file(WRITE "${GIT_COMMIT_FILE}" "${GIT_COMMIT_HASH}\n") + if (NOT CMAKE_SKIP_INSTALL_RULES) install(TARGETS js COMPONENT js) + install(FILES "${GIT_COMMIT_FILE}" COMPONENT js DESTINATION .) + install(TARGETS wasm COMPONENT wasm) + install(FILES "${GIT_COMMIT_FILE}" COMPONENT wasm DESTINATION .) set(CPACK_GENERATOR "TGZ") set(CPACK_STRIP_FILES TRUE)