Move Repo update to the end

This commit is contained in:
Tobias Manske 2023-08-21 19:42:52 +02:00
parent 16b25be5bb
commit 3f6071f16e
Signed by: tobias
GPG Key ID: 9164B527694A0709
1 changed files with 32 additions and 23 deletions

View File

@ -18,20 +18,6 @@ mcli alias set s3 https://s3.tobiasmanske.de "${REPO_ACCESS_KEY}" "${REPO_SECRET
# LOCK
LOCK=""
while [[ "${LOCK}" != "${PIPELINE_ID}" ]]; do
if [[ ${DEBUG:-} == "true" ]]; then
echo "Debug mode, not waiting for lock"
break
fi
LOCK=$(mcli cat s3/repo/LOCK)
if [[ "${LOCK}" == "FREE" ]]; then
echo $PIPELINE_ID | mcli pipe s3/repo/LOCK
LOCK=$(mcli cat s3/repo/LOCK)
continue
fi
echo "Waiting for lock with id $PIPELINE_ID..."
sleep $((RANDOM % 10))
done
unlock() {
if [[ "${LOCK}" == "${PIPELINE_ID}" ]]; then
@ -40,16 +26,36 @@ unlock() {
}
trap unlock EXIT INT TERM
lock () {
while [[ "${LOCK}" != "${PIPELINE_ID}" ]]; do
if [[ ${DEBUG:-} == "true" ]]; then
echo "Debug mode, not waiting for lock"
break
fi
LOCK=$(mcli cat s3/repo/LOCK)
if [[ "${LOCK}" == "FREE" ]]; then
echo $PIPELINE_ID | mcli pipe s3/repo/LOCK
LOCK=$(mcli cat s3/repo/LOCK)
continue
fi
echo "Waiting for lock with id $PIPELINE_ID..."
sleep $((RANDOM % 10))
done
trap unlock EXIT INT TERM
}
echo "Pulling Repository"
(
mcli cp "s3/repo/x86_64/${AUR_REPO_NAME}.db.tar.xz" /repo
mcli cp "s3/repo/x86_64/${AUR_REPO_NAME}.db.tar.xz.sig" /repo
mcli cp "s3/repo/x86_64/${AUR_REPO_NAME}.files.tar.xz" /repo
mcli cp "s3/repo/x86_64/${AUR_REPO_NAME}.files.tar.xz.sig" /repo
pullrepo () {
echo "Pulling Repository"
(
mcli cp "s3/repo/x86_64/${AUR_REPO_NAME}.db.tar.xz" /repo
mcli cp "s3/repo/x86_64/${AUR_REPO_NAME}.db.tar.xz.sig" /repo
mcli cp "s3/repo/x86_64/${AUR_REPO_NAME}.files.tar.xz" /repo
mcli cp "s3/repo/x86_64/${AUR_REPO_NAME}.files.tar.xz.sig" /repo
) &>/dev/null
) &>/dev/null
}
pullrepo
if ! (aur repo >/dev/null 2>&1); then
printf "Aur repo not initialized, initializing /repo...\n"
@ -129,5 +135,8 @@ cat graph | aur sync--ninja -S -- aur build -S --noconfirm --no-sync --margs -s
echo "##################################"
ls -la /repo
## Upload to repo
pullrepo
lock
repo-add -k C3FE87CFB8F8D503AE03EC1C033E7F3DC71FE89E --sign "/repo/${AUR_REPO_NAME}.db.tar.xz" /repo/*.pkg.tar.zst
mcli mirror --overwrite /repo s3/repo/x86_64
unlock