]> piware.de Git - bin.git/blobdiff - system-maintenance
system-maintenance: Download workstation OSTree repo from GitHub
[bin.git] / system-maintenance
index 7ec31bf04961b8a04ec0b3be6795e61103b0be8f..3235aa2698e38edfac4112ef20fb9c12c403cc4d 100755 (executable)
@@ -3,16 +3,26 @@ set -eux
 
 rpm-ostree cleanup --rollback || true
 rpm-ostree cleanup --repomd
+rpm-ostree cleanup --pending
 rpm-ostree cleanup --base
 
-# keep repo on tmpfs
-REPO=/var/tmp/repo/
-mkdir -p $REPO
-mount -t tmpfs tmpfs $REPO
+# download latest repo build
+REPO=$(mktemp -d -t repo.XXXXXX)
+trap "rm -rf '$REPO'" EXIT INT QUIT PIPE
+CURL="curl -u token:$(cat ~martin/.config/github-token) --show-error --fail"
+RESPONSE=$($CURL --silent https://api.github.com/repos/martinpitt/ostree-pitti-workstation/actions/artifacts)
+ZIP=$(echo "$RESPONSE" | jq --raw-output '.artifacts | map(select(.name == "repository"))[0].archive_download_url')
+echo "INFO: Downloading $ZIP ..."
+[ -e /tmp/repository.zip ] || $CURL -L -o /tmp/repository.zip "$ZIP"
+rm -rf "$REPO"
+mkdir -p "$REPO"
+unzip -p /tmp/repository.zip | tar -xzC "$REPO"
+rm /tmp/repository.zip
 
-(cd ~martin/src/workstation-ostree-config/; ./compose.sh)
-rpm-ostree upgrade
-umount $REPO
+# upgrade
+ostree remote add --no-gpg-verify tmp-local "file://$REPO"
+rpm-ostree rebase tmp-local:
+ostree remote delete tmp-local
 
 # fix fonts between Fedora releases
 rm -rf ~martin/.cache/fontconfig