chore: checkpoint classroom 0.1.5 stable
This commit is contained in:
Executable
+53
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$ROOT"
|
||||
|
||||
if [[ $# -eq 1 ]]; then
|
||||
version="$1"
|
||||
|
||||
package_name="ekklesia-classroom_${version}_amd64.deb"
|
||||
package_path="$ROOT/repo/packages/$package_name"
|
||||
|
||||
if [[ ! -f "$package_path" ]]; then
|
||||
echo "Package does not exist locally:"
|
||||
echo "$package_path"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
hash="$(sha256sum "$package_path" | awk '{print $1}')"
|
||||
|
||||
mkdir -p "$ROOT/repo/stable"
|
||||
|
||||
cat > "$ROOT/repo/stable/manifest.json" <<EOF
|
||||
{
|
||||
"version": "$version",
|
||||
"package": "/packages/$package_name",
|
||||
"sha256": "$hash",
|
||||
"requires_reboot": true
|
||||
}
|
||||
EOF
|
||||
else
|
||||
if [[ ! -f "$ROOT/repo/canary/manifest.json" ]]; then
|
||||
echo "No local canary manifest exists."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$ROOT/repo/stable"
|
||||
cp "$ROOT/repo/canary/manifest.json" "$ROOT/repo/stable/manifest.json"
|
||||
|
||||
version="$(python3 -c \
|
||||
'import json; print(json.load(open("repo/stable/manifest.json"))["version"])')"
|
||||
fi
|
||||
|
||||
echo "Promoting $version to STABLE"
|
||||
|
||||
rsync -av \
|
||||
-e ssh \
|
||||
"$ROOT/repo/stable/manifest.json" \
|
||||
classroom-control:/srv/ekklesia/classroom-updates/stable/manifest.json
|
||||
|
||||
echo
|
||||
echo "Ekklesia Classroom $version is now STABLE"
|
||||
echo "https://updates.riverofglorymn.org/stable/manifest.json"
|
||||
Reference in New Issue
Block a user