🐛 Corrige edición de CHANGELOG y nuevas versiones

This commit is contained in:
Manuel Cillero 2025-08-06 01:54:47 +02:00
parent fe048f44fa
commit 4288902540
3 changed files with 27 additions and 46 deletions

View file

@ -35,20 +35,20 @@ cd "$(dirname "$0")/.." || exit 1
# Determina ruta del archivo y ámbito de los archivos afectados para el crate
# ------------------------------------------------------------------------------
case "$CRATE" in
pagetop)
CHANGELOG_FILE="CHANGELOG.md"
PATH_FLAGS=(
--exclude-path "helpers/pagetop-macros/**/*"
--exclude-path "helpers/pagetop-build/**/*"
)
pagetop-build)
CHANGELOG_FILE="helpers/pagetop-build/CHANGELOG.md"
PATH_FLAGS=(--include-path "helpers/pagetop-build/**/*")
;;
pagetop-macros)
CHANGELOG_FILE="helpers/pagetop-macros/CHANGELOG.md"
PATH_FLAGS=(--include-path "helpers/pagetop-macros/**/*")
;;
pagetop-build)
CHANGELOG_FILE="helpers/pagetop-build/CHANGELOG.md"
PATH_FLAGS=(--include-path "helpers/pagetop-build/**/*")
pagetop)
CHANGELOG_FILE="CHANGELOG.md"
PATH_FLAGS=(
--exclude-path "helpers/pagetop-build/**/*"
--exclude-path "helpers/pagetop-macros/**/*"
)
;;
*)
echo "Error: unsupported crate '$CRATE'" >&2
@ -56,23 +56,24 @@ case "$CRATE" in
;;
esac
# ------------------------------------------------------------------------------
# Obtiene la última etiqueta del crate
# ------------------------------------------------------------------------------
LAST_TAG="$(git tag --list "${CRATE}-v*" --sort=-v:refname | head -n 1)"
if [[ -n "$LAST_TAG" ]]; then
echo "Generating CHANGELOG for '$CRATE' from last tag '$LAST_TAG'"
CLIFF_ARGS=(--unreleased --tag "$VERSION")
else
echo "Generating initial CHANGELOG for '$CRATE'"
CLIFF_ARGS=(--tag "$VERSION")
fi
# ------------------------------------------------------------------------------
# Genera el CHANGELOG para el crate correspondiente
# ------------------------------------------------------------------------------
git-cliff --config "$CLIFF_CONFIG" "${PATH_FLAGS[@]}" "${CLIFF_ARGS[@]}" -o "$CHANGELOG_FILE" -u
COMMON_ARGS=(
--config "$CLIFF_CONFIG"
"${PATH_FLAGS[@]}"
--tag-pattern "^${CRATE}-v"
--tag "$VERSION"
-o "$CHANGELOG_FILE"
)
LAST_TAG="$(git tag --list "${CRATE}-v*" --sort=-v:refname | head -n 1)"
if [[ -n "$LAST_TAG" ]]; then
echo "Generating CHANGELOG for '$CRATE' from tag '$LAST_TAG'"
git-cliff --unreleased "${COMMON_ARGS[@]}"
else
echo "Generating initial CHANGELOG for '$CRATE'"
git-cliff "${COMMON_ARGS[@]}"
fi
echo "CHANGELOG generated at '$CHANGELOG_FILE'"
# Pregunta por la revisión del archivo de cambios generado

View file

@ -40,9 +40,9 @@ cd "$(dirname "$0")/.." || exit 1
# ------------------------------------------------------------------------------
if [[ "$EXECUTE" != "--execute" ]]; then
echo "Running dry-run (default mode). Add --execute to publish"
CARGO_RELEASE_CONFIG="$CONFIG" cargo release --package "$CRATE" "$LEVEL"
cargo release --config "$CONFIG" --package "$CRATE" "$LEVEL"
else
echo "Releasing $CRATE ($LEVEL)…"
CARGO_RELEASE_CONFIG="$CONFIG" cargo release --package "$CRATE" "$LEVEL" --execute
cargo release --config "$CONFIG" --package "$CRATE" "$LEVEL" --execute
echo "Release completed."
fi