chore(build): automate version commit during release process
- Added function to stage and commit version changes automatically for `package.json` files. - Integrated automated commit step into the release workflow.
This commit is contained in:
@@ -39,6 +39,42 @@ function(increment_version CURRENT_VERSION TYPE OUT_VAR)
|
|||||||
set(${OUT_VAR} "${MAJOR}.${MINOR}.${PATCH}" PARENT_SCOPE)
|
set(${OUT_VAR} "${MAJOR}.${MINOR}.${PATCH}" PARENT_SCOPE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
# Fonction pour créer un commit git pour les changements de version
|
||||||
|
function(commit_version_changes VERSION)
|
||||||
|
find_package(Git QUIET)
|
||||||
|
if(GIT_FOUND)
|
||||||
|
# On n'ajoute que les fichiers package.json modifiés
|
||||||
|
set(ADDED_ANY FALSE)
|
||||||
|
foreach(JSON_FILE ${PACKAGE_JSON_FILES})
|
||||||
|
if(EXISTS "${JSON_FILE}")
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${GIT_EXECUTABLE} add "${JSON_FILE}"
|
||||||
|
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
|
||||||
|
)
|
||||||
|
set(ADDED_ANY TRUE)
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if(ADDED_ANY)
|
||||||
|
# On commit uniquement les fichiers qui ont été ajoutés (staged)
|
||||||
|
# L'utilisation de --only ou spécifier les fichiers à nouveau assure qu'on ne prend pas d'autres changements
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${GIT_EXECUTABLE} commit -m "chore: bump version to ${VERSION}" -- ${PACKAGE_JSON_FILES}
|
||||||
|
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
|
||||||
|
RESULT_VARIABLE COMMIT_RESULT
|
||||||
|
)
|
||||||
|
|
||||||
|
if(COMMIT_RESULT EQUAL 0)
|
||||||
|
message(STATUS "Changements commités avec succès pour la version ${VERSION}")
|
||||||
|
else()
|
||||||
|
message(WARNING "Échec du commit des changements. Il n'y a peut-être rien à commiter ou aucun changement sur les fichiers JSON.")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
message(WARNING "Git non trouvé, impossible de commiter les changements.")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# Fonction pour créer un tag git
|
# Fonction pour créer un tag git
|
||||||
function(create_git_tag VERSION)
|
function(create_git_tag VERSION)
|
||||||
find_package(Git QUIET)
|
find_package(Git QUIET)
|
||||||
@@ -73,6 +109,9 @@ function(set_new_version NEW_VERSION)
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
# Commiter les changements
|
||||||
|
commit_version_changes(${NEW_VERSION})
|
||||||
|
|
||||||
# Créer le tag git
|
# Créer le tag git
|
||||||
create_git_tag(${NEW_VERSION})
|
create_git_tag(${NEW_VERSION})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|||||||
Reference in New Issue
Block a user