1
1
Fork 0
mirror of https://gitlab.archlinux.org/archlinux/infrastructure.git synced 2024-05-08 06:16:07 +02:00

arch_boxes_sync: Trigger immediately mirror sync by updating lastupdate

This commit is contained in:
Kristian Klausen 2022-05-29 21:38:51 +02:00
parent cfe96bc823
commit 159ff40189
No known key found for this signature in database
GPG Key ID: E2BE346E410366C3
2 changed files with 4 additions and 1 deletions

View File

@ -6,4 +6,4 @@ Type=oneshot
ExecStart=/usr/local/bin/arch-boxes-sync.sh
ProtectSystem=strict
PrivateTmp=true
ReadWritePaths=/srv/ftp/images
ReadWritePaths=/srv/ftp/lastupdate /srv/ftp/images

View File

@ -3,6 +3,7 @@ set -o nounset -o errexit -o pipefail
# https://docs.gitlab.com/ee/api/README.html#namespaced-path-encoding
readonly PROJECT_ID="archlinux%2Farch-boxes"
readonly ARCH_BOXES_PATH="/srv/ftp/images"
readonly LASTUPDATE_PATH="/srv/ftp/lastupdate"
readonly MAX_RELEASES="6" # 3 months
PACKAGES="$(curl --silent --show-error --fail "https://gitlab.archlinux.org/api/v4/projects/${PROJECT_ID}/packages?per_page=1&sort=desc")"
@ -68,3 +69,5 @@ ln -nsf "${LATEST_VERSION}" "${ARCH_BOXES_PATH}/latest"
echo "Removing old releases"
cd "${ARCH_BOXES_PATH}"
comm --output-delimiter="" -3 <({ ls | grep -v latest | sort -r | head -n "${MAX_RELEASES}"; echo latest; } | sort) <(ls | sort) | tr -d '\0' | xargs --no-run-if-empty rm -rvf
date +%s > "${LASTUPDATE_PATH}"