46 lines
895 B
Bash
46 lines
895 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
VERSION="${1:-latest}"
|
|
|
|
# Compile le binaire
|
|
./build.sh "$VERSION"
|
|
|
|
# Récupère l'archive générée
|
|
ASSET="$(ls -t caddy-*-linux-amd64.tar.gz | head -n1)"
|
|
|
|
# Déduit le tag depuis le nom de l'archive
|
|
TAG="$(basename "$ASSET" | sed -E 's/^caddy-(.*)-linux-amd64\.tar\.gz$/\1/')"
|
|
|
|
echo "Publishing release ${TAG}"
|
|
|
|
# Met à jour le tag Git
|
|
git tag -f "$TAG"
|
|
git push origin "$TAG" --force
|
|
|
|
# Supprime la release existante (si présente)
|
|
tea release delete "$TAG" >/dev/null 2>&1 || true
|
|
|
|
# Génère automatiquement la description
|
|
NOTES=$(
|
|
cat <<EOF
|
|
Custom Caddy build
|
|
|
|
Build date: $(date -u +"%Y-%m-%d %H:%M UTC")
|
|
|
|
## Included modules
|
|
|
|
$(sed '/^\s*#/d;/^\s*$/d;s/^/- /' modules.txt)
|
|
EOF
|
|
)
|
|
|
|
# Crée la release
|
|
tea release create \
|
|
--tag "$TAG" \
|
|
--title "$TAG" \
|
|
--note "$NOTES" \
|
|
--asset "$ASSET"
|
|
|
|
echo
|
|
echo "✅ Release publiée : ${TAG}"
|