]> piware.de Git - bin.git/blobdiff - system-maintenance
system-maintenance: Download workstation OSTree repo from GitHub
[bin.git] / system-maintenance
index 83cefbd7c851a89732acaa28882197bfaf26b7ef..3235aa2698e38edfac4112ef20fb9c12c403cc4d 100755 (executable)
@@ -1,14 +1,30 @@
 #!/bin/sh
 set -eux
 
-rpm-ostree cleanup --rollback
+rpm-ostree cleanup --rollback || true
 rpm-ostree cleanup --repomd
+rpm-ostree cleanup --pending
 rpm-ostree cleanup --base
 
-# keep repo on tmpfs
-mkdir -p /srv/ostree/repo/
-mount -t tmpfs tmpfs /srv/ostree/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 /srv/ostree/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
+
+fstrim -av