ваше сообщение коммита
This commit is contained in:
81
setup.sh
Normal file
81
setup.sh
Normal file
@@ -0,0 +1,81 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Downloads release assets (parts + join.sh) and assembles dle-template.tar.gz.
|
||||
# Requirements: bash, curl, python3
|
||||
|
||||
OWNER="VC-HB3-Accelerator"
|
||||
REPO="Docs"
|
||||
TAG="v1.0.3"
|
||||
BASE="https://xn--80aqc0am6d.xn--p1ai/gitea"
|
||||
|
||||
OUT_DIR="${1:-downloads}"
|
||||
|
||||
mkdir -p "$OUT_DIR"
|
||||
cd "$OUT_DIR"
|
||||
|
||||
echo "Fetching release assets list: ${OWNER}/${REPO} ${TAG}"
|
||||
|
||||
python3 - <<'PY'
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
import urllib.request
|
||||
|
||||
base = os.environ.get("BASE")
|
||||
owner = os.environ.get("OWNER")
|
||||
repo = os.environ.get("REPO")
|
||||
tag = os.environ.get("TAG")
|
||||
|
||||
url = f"{base}/api/v1/repos/{owner}/{repo}/releases/tags/{tag}"
|
||||
|
||||
with urllib.request.urlopen(url, timeout=60) as r:
|
||||
payload = json.loads(r.read().decode("utf-8"))
|
||||
|
||||
assets = payload.get("assets") or []
|
||||
|
||||
need_prefixes = (
|
||||
"dle-template.tar.gz.part-",
|
||||
"dle-template.tar.gz.join.sh",
|
||||
)
|
||||
|
||||
picked = []
|
||||
for a in assets:
|
||||
name = a.get("name") or ""
|
||||
if name.startswith(need_prefixes):
|
||||
picked.append((name, a.get("browser_download_url") or ""))
|
||||
|
||||
if not picked:
|
||||
raise SystemExit("No matching assets found in release (expected join.sh and part-*).")
|
||||
|
||||
picked.sort(key=lambda t: t[0])
|
||||
for name, url in picked:
|
||||
if not url:
|
||||
raise SystemExit(f"Missing browser_download_url for asset: {name}")
|
||||
print(f"{name}\t{url}")
|
||||
PY > .assets.tsv
|
||||
|
||||
export BASE OWNER REPO TAG
|
||||
|
||||
echo "Downloading assets to: $(pwd)"
|
||||
|
||||
while IFS=$'\t' read -r name url; do
|
||||
if [[ -f "$name" ]]; then
|
||||
echo "Skip (exists): $name"
|
||||
continue
|
||||
fi
|
||||
echo "Download: $name"
|
||||
curl -fL --retry 5 --retry-delay 2 -o "$name" "$url"
|
||||
done < .assets.tsv
|
||||
|
||||
if [[ ! -f "dle-template.tar.gz.join.sh" ]]; then
|
||||
echo "ERROR: dle-template.tar.gz.join.sh not found after download" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Assembling dle-template.tar.gz"
|
||||
bash dle-template.tar.gz.join.sh
|
||||
|
||||
echo "Done."
|
||||
ls -lh dle-template.tar.gz 2>/dev/null || true
|
||||
|
||||
Reference in New Issue
Block a user