Merge pull request 'fix: the tag cache must be deleted when the tag is deleted' (#40) from limiting-factor/forgejo-release:wip-delete into main

Reviewed-on: https://code.forgejo.org/actions/forgejo-release/pulls/40
Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org>
This commit is contained in:
earl-warren 2025-02-23 23:11:48 +00:00
commit 73ed2a76a2
WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS.
GPG key ID: F128CBE6AB3A7201
2 changed files with 26 additions and 4 deletions

View file

@ -59,7 +59,18 @@ ensure_tag() {
return 1
fi
else
create_tag
fi
}
create_tag() {
api POST repos/$REPO/tags --data-raw '{"tag_name": "'"$TAG"'", "target": "'"$SHA"'"}' >"$TAG_FILE"
}
delete_tag() {
if get_tag; then
api DELETE repos/$REPO/tags/$TAG
rm -f "$TAG_FILE"
fi
}
@ -134,7 +145,7 @@ maybe_override() {
fi
api DELETE repos/$REPO/releases/tags/"$TAG" >&/dev/null || true
if get_tag && ! matched_tag; then
api DELETE repos/$REPO/tags/"$TAG"
delete_tag
fi
}

View file

@ -39,8 +39,18 @@ test_wait_release() {
! wait_release
}
test_create_delete_tag() {
delete_tag
! get_tag
create_tag
get_tag
delete_tag
! get_tag
}
test_ensure_tag() {
api DELETE repos/$REPO/tags/$TAG || true
delete_tag
#
# idempotent
#
@ -59,7 +69,7 @@ test_ensure_tag() {
! matched_tag
! ensure_tag
)
api DELETE repos/$REPO/tags/$TAG
delete_tag
}
test_maybe_sign_release_no_gpg() {
@ -133,6 +143,7 @@ test_run() {
REPO=$user/$project
test_setup $project
test_ensure_tag
test_create_delete_tag
DELAY=0
test_wait_release_fail
echo "================================ TEST BEGIN"