final
This commit is contained in:
@@ -1,31 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
VERSION="${1:-latest}"
|
||||
CADDY_VERSION="${1:-latest}"
|
||||
|
||||
# Build
|
||||
./build.sh "$VERSION"
|
||||
mkdir -p dist
|
||||
|
||||
# Récupère le nom de l'archive générée
|
||||
ASSET="$(ls -t caddy-*-linux-amd64.tar.gz | head -n1)"
|
||||
ARGS=()
|
||||
while read -r module; do
|
||||
[[ -z "$module" || "$module" =~ ^# ]] && continue
|
||||
ARGS+=(--with "$module")
|
||||
done < modules.txt
|
||||
|
||||
# Déduit la version depuis le nom du fichier
|
||||
TAG="$(basename "$ASSET" | sed -E 's/^caddy-(.*)-linux-amd64\.tar\.gz$/\1/')"
|
||||
if [[ "$CADDY_VERSION" == "latest" ]]; then
|
||||
xcaddy build \
|
||||
"${ARGS[@]}" \
|
||||
--output dist/caddy
|
||||
else
|
||||
xcaddy build "$CADDY_VERSION" \
|
||||
"${ARGS[@]}" \
|
||||
--output dist/caddy
|
||||
fi
|
||||
|
||||
echo "Publishing $TAG"
|
||||
REAL_VERSION="$(dist/caddy version | awk '{print $1}')"
|
||||
|
||||
git tag -f "$TAG"
|
||||
git push origin "$TAG" --force
|
||||
ARCHIVE="caddy-${REAL_VERSION}-linux-amd64.tar.gz"
|
||||
|
||||
# Supprime la release si elle existe (ignore les erreurs)
|
||||
tea release delete "$TAG" >/dev/null 2>&1 || true
|
||||
|
||||
# Crée la nouvelle release
|
||||
tea release create \
|
||||
--tag "$TAG" \
|
||||
--title "$TAG" \
|
||||
--note "Custom Caddy build with modules from modules.txt" \
|
||||
--asset "$ASSET"
|
||||
tar -C dist -czf "$ARCHIVE" caddy
|
||||
|
||||
echo
|
||||
echo "✅ Release publiée : $TAG"
|
||||
echo "Version : $REAL_VERSION"
|
||||
echo "Archive : $ARCHIVE"
|
||||
|
||||
@@ -1,35 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
echo "==> Installation des dépendances"
|
||||
GITEA_HOST="git.jst.ovh"
|
||||
GITEA_URL="https://${GITEA_HOST}"
|
||||
|
||||
echo "==> Installation des dépendances"
|
||||
sudo apt update
|
||||
sudo apt install -y \
|
||||
git \
|
||||
curl \
|
||||
jq \
|
||||
tar \
|
||||
build-essential \
|
||||
golang-go
|
||||
git \
|
||||
curl \
|
||||
jq \
|
||||
tar \
|
||||
build-essential \
|
||||
golang-go
|
||||
|
||||
echo "==> Installation de xcaddy"
|
||||
|
||||
export GOPATH="${HOME}/go"
|
||||
export PATH="${PATH}:${GOPATH}/bin"
|
||||
|
||||
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
|
||||
if ! command -v xcaddy >/dev/null 2>&1; then
|
||||
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
|
||||
fi
|
||||
|
||||
if ! grep -q 'HOME/go/bin' "${HOME}/.bashrc"; then
|
||||
echo 'export PATH="$PATH:$HOME/go/bin"' >> "${HOME}/.bashrc"
|
||||
echo 'export PATH="$PATH:$HOME/go/bin"' >> "${HOME}/.bashrc"
|
||||
fi
|
||||
|
||||
echo "==> Installation de tea"
|
||||
if ! command -v tea >/dev/null 2>&1; then
|
||||
TMP_TEA="$(mktemp)"
|
||||
curl -fsSL "https://dl.gitea.com/tea/main/tea-main-linux-amd64" -o "$TMP_TEA"
|
||||
chmod +x "$TMP_TEA"
|
||||
sudo mv "$TMP_TEA" /usr/local/bin/tea
|
||||
fi
|
||||
|
||||
echo "==> Vérification de la connexion tea à ${GITEA_HOST}"
|
||||
|
||||
if tea login list 2>/dev/null | grep -q "${GITEA_HOST}"; then
|
||||
echo "Connexion tea existante pour ${GITEA_HOST}"
|
||||
else
|
||||
echo "Aucune connexion tea trouvée pour ${GITEA_HOST}"
|
||||
echo "Création d'une connexion tea..."
|
||||
tea login add \
|
||||
--name jst \
|
||||
--url "${GITEA_URL}"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Versions installées :"
|
||||
echo "Versions :"
|
||||
go version
|
||||
"${HOME}/go/bin/xcaddy" version
|
||||
xcaddy version
|
||||
tea --version
|
||||
|
||||
echo
|
||||
echo "✅ Environnement prêt."
|
||||
echo "Recharge ton shell ou exécute :"
|
||||
echo
|
||||
echo 'export PATH="$PATH:$HOME/go/bin"'
|
||||
echo "✅ Init terminé."
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
#!/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}"
|
||||
Reference in New Issue
Block a user