🐛 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)
|
||||
publish = true
|
||||
|
||||
# Actualiza todos los dependientes internos
|
||||
update-dependencies = true
|
||||
|
||||
# Solo permite publicar estos crates (los que forman parte del workspace)
|
||||
allow-branch = ["main"]
|
||||
consolidate-commits = false
|
||||
consolidate-pushes = true
|
||||
|
||||
# Mensaje personalizado para el commit de versión
|
||||
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 = [
|
||||
"./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
|
||||
# ------------------------------------------------------------------------------
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue