chore: checkpoint classroom 0.1.5 stable
This commit is contained in:
Executable
+59
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$ROOT"
|
||||
|
||||
current_version="$(cat VERSION)"
|
||||
|
||||
if [[ $# -eq 1 ]]; then
|
||||
version="$1"
|
||||
else
|
||||
IFS='.' read -r major minor patch <<< "$current_version"
|
||||
version="${major}.${minor}.$((patch + 1))"
|
||||
fi
|
||||
|
||||
package_name="ekklesia-classroom_${version}_amd64.deb"
|
||||
package_path="$ROOT/dist/$package_name"
|
||||
|
||||
echo "Current version: $current_version"
|
||||
echo "New canary: $version"
|
||||
echo
|
||||
|
||||
"$ROOT/tools/build-release.sh" "$version"
|
||||
|
||||
hash="$(sha256sum "$package_path" | awk '{print $1}')"
|
||||
|
||||
mkdir -p "$ROOT/repo/packages" "$ROOT/repo/canary"
|
||||
|
||||
cp "$package_path" "$ROOT/repo/packages/$package_name"
|
||||
|
||||
cat > "$ROOT/repo/canary/manifest.json" <<EOF
|
||||
{
|
||||
"version": "$version",
|
||||
"package": "/packages/$package_name",
|
||||
"sha256": "$hash",
|
||||
"requires_reboot": true
|
||||
}
|
||||
EOF
|
||||
|
||||
echo
|
||||
echo "Publishing package..."
|
||||
|
||||
rsync -av \
|
||||
-e ssh \
|
||||
"$ROOT/repo/packages/$package_name" \
|
||||
classroom-control:/srv/ekklesia/classroom-updates/packages/
|
||||
|
||||
echo
|
||||
echo "Publishing canary manifest..."
|
||||
|
||||
# Manifest deliberately goes LAST.
|
||||
rsync -av \
|
||||
-e ssh \
|
||||
"$ROOT/repo/canary/manifest.json" \
|
||||
classroom-control:/srv/ekklesia/classroom-updates/canary/manifest.json
|
||||
|
||||
echo
|
||||
echo "Published Ekklesia Classroom $version to CANARY"
|
||||
echo "https://updates.riverofglorymn.org/canary/manifest.json"
|
||||
Reference in New Issue
Block a user