🐛 Corrige edición de CHANGELOG y nuevas versiones
This commit is contained in:
parent
fe048f44fa
commit
4288902540
3 changed files with 27 additions and 46 deletions
|
@ -13,33 +13,13 @@ push = true
|
||||||
# Publica en crates.io (puedes desactivarlo para pruebas)
|
# Publica en crates.io (puedes desactivarlo para pruebas)
|
||||||
publish = true
|
publish = true
|
||||||
|
|
||||||
# Actualiza todos los dependientes internos
|
|
||||||
update-dependencies = true
|
|
||||||
|
|
||||||
# Solo permite publicar estos crates (los que forman parte del workspace)
|
# Solo permite publicar estos crates (los que forman parte del workspace)
|
||||||
allow-branch = ["main"]
|
allow-branch = ["main"]
|
||||||
consolidate-commits = false
|
consolidate-commits = false
|
||||||
consolidate-pushes = true
|
|
||||||
|
|
||||||
# Mensaje personalizado para el commit de versión
|
# Mensaje personalizado para el commit de versión
|
||||||
pre-release-commit-message = "🔖 Prepara publicación de {{crate_name}} {{version}}"
|
pre-release-commit-message = "🔖 Prepara publicación de {{crate_name}} {{version}}"
|
||||||
|
|
||||||
[workspace]
|
|
||||||
# Lista de crates que se pueden publicar dentro del workspace
|
|
||||||
# Puedes añadir extensiones más adelante
|
|
||||||
allow-publish = [
|
|
||||||
"pagetop",
|
|
||||||
"pagetop-build",
|
|
||||||
"pagetop-macros"
|
|
||||||
]
|
|
||||||
|
|
||||||
# Opcional: ordena la publicación de dependencias internas
|
|
||||||
publish-order = [
|
|
||||||
"pagetop-build",
|
|
||||||
"pagetop-macros",
|
|
||||||
"pagetop"
|
|
||||||
]
|
|
||||||
|
|
||||||
pre-release-hook = [
|
pre-release-hook = [
|
||||||
"./tools/changelog.sh", "{{crate_name}}", "{{version}}", "--stage"
|
"sh", "-c", "ROOT=$(git rev-parse --show-toplevel) && \"$ROOT/tools/changelog.sh\" {{crate_name}} {{version}} --stage"
|
||||||
]
|
]
|
||||||
|
|
|
@ -35,20 +35,20 @@ cd "$(dirname "$0")/.." || exit 1
|
||||||
# Determina ruta del archivo y ámbito de los archivos afectados para el crate
|
# Determina ruta del archivo y ámbito de los archivos afectados para el crate
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
case "$CRATE" in
|
case "$CRATE" in
|
||||||
pagetop)
|
pagetop-build)
|
||||||
CHANGELOG_FILE="CHANGELOG.md"
|
CHANGELOG_FILE="helpers/pagetop-build/CHANGELOG.md"
|
||||||
PATH_FLAGS=(
|
PATH_FLAGS=(--include-path "helpers/pagetop-build/**/*")
|
||||||
--exclude-path "helpers/pagetop-macros/**/*"
|
|
||||||
--exclude-path "helpers/pagetop-build/**/*"
|
|
||||||
)
|
|
||||||
;;
|
;;
|
||||||
pagetop-macros)
|
pagetop-macros)
|
||||||
CHANGELOG_FILE="helpers/pagetop-macros/CHANGELOG.md"
|
CHANGELOG_FILE="helpers/pagetop-macros/CHANGELOG.md"
|
||||||
PATH_FLAGS=(--include-path "helpers/pagetop-macros/**/*")
|
PATH_FLAGS=(--include-path "helpers/pagetop-macros/**/*")
|
||||||
;;
|
;;
|
||||||
pagetop-build)
|
pagetop)
|
||||||
CHANGELOG_FILE="helpers/pagetop-build/CHANGELOG.md"
|
CHANGELOG_FILE="CHANGELOG.md"
|
||||||
PATH_FLAGS=(--include-path "helpers/pagetop-build/**/*")
|
PATH_FLAGS=(
|
||||||
|
--exclude-path "helpers/pagetop-build/**/*"
|
||||||
|
--exclude-path "helpers/pagetop-macros/**/*"
|
||||||
|
)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Error: unsupported crate '$CRATE'" >&2
|
echo "Error: unsupported crate '$CRATE'" >&2
|
||||||
|
@ -56,23 +56,24 @@ case "$CRATE" in
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
# 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'"
|
echo "CHANGELOG generated at '$CHANGELOG_FILE'"
|
||||||
|
|
||||||
# Pregunta por la revisión del archivo de cambios generado
|
# Pregunta por la revisión del archivo de cambios generado
|
||||||
|
|
|
@ -40,9 +40,9 @@ cd "$(dirname "$0")/.." || exit 1
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
if [[ "$EXECUTE" != "--execute" ]]; then
|
if [[ "$EXECUTE" != "--execute" ]]; then
|
||||||
echo "Running dry-run (default mode). Add --execute to publish"
|
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
|
else
|
||||||
echo "Releasing $CRATE ($LEVEL)…"
|
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."
|
echo "Release completed."
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue