ci: esteira para os runners do Gitea, changelog e instalador pelo Gitea
Release / Plano (este commit já foi validado?) (push) Successful in 4s
CI / Trivy (dependências, segredos e configuração) (push) Successful in 9s
CI / Código e scripts (push) Successful in 14s
CI / Pacote .deb (push) Failing after 3s
Release / ci (push) Failing after 18s
Release / Publica a release (push) Skipped
Release / Plano (este commit já foi validado?) (push) Successful in 4s
CI / Trivy (dependências, segredos e configuração) (push) Successful in 9s
CI / Código e scripts (push) Successful in 14s
CI / Pacote .deb (push) Failing after 3s
Release / ci (push) Failing after 18s
Release / Publica a release (push) Skipped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
024f7a7387
commit
d14df4e32c
10 files changed
+296
-137
No files matched your search
+23
-5
@@ -1,13 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
# Instala (ou atualiza) o Copiado a partir do pacote publicado no GitHub
|
||||
# Instala (ou atualiza) o Copiado a partir do pacote publicado no Gitea.
|
||||
# O repositório é privado: exporte GITEA_TOKEN (token com read:repository).
|
||||
set -e
|
||||
URL="https://github.com/lucasrguerra/copiado/releases/latest/download"
|
||||
SERVIDOR="https://git.lucasrguerra.dev.br"
|
||||
API="$SERVIDOR/api/v1/repos/lucasrguerra/copiado"
|
||||
if [ -z "${GITEA_TOKEN:-}" ]; then
|
||||
echo "ERRO: defina GITEA_TOKEN com um token do Gitea (read:repository)." >&2
|
||||
exit 1
|
||||
fi
|
||||
TMP=$(mktemp -d)
|
||||
trap 'rm -rf "$TMP"' EXIT
|
||||
|
||||
echo "==> Baixando a versão mais recente..."
|
||||
curl -fsSL --proto '=https' --tlsv1.2 -o "$TMP/copiado_all.deb" "$URL/copiado_all.deb"
|
||||
curl -fsSL --proto '=https' --tlsv1.2 -o "$TMP/SHA256SUMS" "$URL/SHA256SUMS"
|
||||
# O token vai por um arquivo de configuração do curl, não pela linha de comando,
|
||||
# para não aparecer na lista de processos.
|
||||
printf 'header = "Authorization: token %s"\n' "$GITEA_TOKEN" > "$TMP/curlrc"
|
||||
|
||||
baixar() { curl -fsSL --proto '=https' --tlsv1.2 -K "$TMP/curlrc" -o "$2" "$1"; }
|
||||
|
||||
echo "==> Procurando a versão mais recente..."
|
||||
baixar "$API/releases/latest" "$TMP/release.json"
|
||||
url_do_arquivo() {
|
||||
python3 -c 'import json,sys; print(next(a["browser_download_url"] for a in json.load(open(sys.argv[1]))["assets"] if a["name"] == sys.argv[2]))' "$TMP/release.json" "$1"
|
||||
}
|
||||
|
||||
echo "==> Baixando..."
|
||||
baixar "$(url_do_arquivo copiado_all.deb)" "$TMP/copiado_all.deb"
|
||||
baixar "$(url_do_arquivo SHA256SUMS)" "$TMP/SHA256SUMS"
|
||||
|
||||
echo "==> Conferindo a integridade do pacote..."
|
||||
(cd "$TMP" && sha256sum --check --strict --quiet SHA256SUMS) || {
|
||||
|
||||
Reference in new issue
Block a user