From 0aabc7bd0cc44a24ee44145ef1562c8cdc563820 Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Tue, 29 Oct 2024 08:01:08 -0400 Subject: [PATCH] forgejo: only remove files that already exist --- .forgejo/bin/deploy.sh | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/.forgejo/bin/deploy.sh b/.forgejo/bin/deploy.sh index 4d02695..daf2496 100755 --- a/.forgejo/bin/deploy.sh +++ b/.forgejo/bin/deploy.sh @@ -3,7 +3,7 @@ # shellcheck disable=SC3040 set -eu -o pipefail -readonly REPOS="backports ilot" +readonly REPOS="backports user" readonly BASEBRANCH=$GITHUB_BASE_REF readonly TARGET_REPO=$CI_ALPINE_REPO @@ -14,18 +14,12 @@ for apk in $apkgs; do arch=$(echo $apk | awk -F '/' '{print $3}') name=$(echo $apk | awk -F '/' '{print $4}') - # always clear out package before deploying - for delarch in x86_64 aarch64 armv7 armhf s390x ppc64le riscv64 loongarch64 x86; do - curl -s --user $FORGE_REPO_USER:$FORGE_REPO_TOKEN -X DELETE $TARGET_REPO/$BASEBRANCH/$branch/$delarch/$name 2>&1 > /dev/null - done - - if [ "$(curl -s $GITHUB_SERVER_URL/api/v1/repos/$GITHUB_REPOSITORY/pulls/$GITHUB_EVENT_NUMBER | jq .draft)" == "true" ]; then - # if draft, send to -testing branch - branch="$branch-testing" - fi - echo "Sending $name of arch $arch to $TARGET_REPO/$BASEBRANCH/$branch" - curl -s --user $FORGE_REPO_USER:$FORGE_REPO_TOKEN --upload-file $apk $TARGET_REPO/$BASEBRANCH/$branch - + return=$(curl -s --user $FORGE_REPO_USER:$FORGE_REPO_TOKEN --upload-file $apk $TARGET_REPO/$BASEBRANCH/$branch 2>&1) + echo $return + if [ "$return" == "package file already exists" ]; then + echo "Package already exists, refreshing..." + curl -s --user $FORGE_REPO_USER:$FORGE_REPO_TOKEN -X DELETE $TARGET_REPO/$BASEBRANCH/$branch/$arch/$name + curl -s --user $FORGE_REPO_USER:$FORGE_REPO_TOKEN --upload-file $apk $TARGET_REPO/$BASEBRANCH/$branch + fi done -