Files
bash-tui-toolkit/scripts/upload-release-to-pages.sh
2025-01-03 15:21:46 +01:00

48 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail
PROJECT_DIR="$(dirname "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
release_tag="$1"
if [[ -z "$release_tag" ]]; then
echo "Usage: $0 <release_tag>"
exit 1
fi
tmp_folder="$(mktemp -d)"
echo "Created folder $tmp_folder ..."
cd "${tmp_folder}"
echo "Clone gh-pages branch ..."
git clone https://token:${GITHUB_TOKEN}@github.com/timo-reymann/bash-tui-toolkit.git --branch gh-pages "${tmp_folder}"
echo "Create folder for version ..."
mkdir -p "${release_tag}"
release_info=$(curl --header "Authorization: Bearer ${GITHUB_TOKEN}" -s "https://api.github.com/repos/timo-reymann/bash-tui-toolkit/releases/tags/${release_tag}")
release_id="$(jq -r '.id' <<< "$release_info")"
release_assets="$(curl --header "Authorization: Bearer ${GITHUB_TOKEN}" -s "https://api.github.com/repos/timo-reymann/bash-tui-toolkit/releases/${release_id}")"
asset_download_links="$(jq -r ".assets[].browser_download_url" <<< "$release_assets")"
cd "${release_tag}"
while read -r download_url
do
echo "Download asset from ${download_url} ..."
curl -sS -L "${download_url}" -O
done <<< "${asset_download_links}"
cd -
echo "Link ${release_tag} to latest ..."
rm latest || true
ln -s "${release_tag}" latest
cp -R "${PROJECT_DIR}/docs" "${release_tag}/docs"
git stage .
git commit -m "chore: Add assets for ${release_tag}\
[skip ci]
"
git push