mirror of
https://code.forgejo.org/actions/forgejo-release.git
synced 2025-03-03 18:19:23 -05:00
fix: the tag cache must be deleted when the tag is deleted
Otherwise it will linger and potentially create problem when using overrides.
This commit is contained in:
parent
e2af55222e
commit
1a6975277b
2 changed files with 26 additions and 4 deletions
|
@ -59,7 +59,18 @@ ensure_tag() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
create_tag
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
create_tag() {
|
||||||
api POST repos/$REPO/tags --data-raw '{"tag_name": "'"$TAG"'", "target": "'"$SHA"'"}' >"$TAG_FILE"
|
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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,7 +145,7 @@ maybe_override() {
|
||||||
fi
|
fi
|
||||||
api DELETE repos/$REPO/releases/tags/"$TAG" >&/dev/null || true
|
api DELETE repos/$REPO/releases/tags/"$TAG" >&/dev/null || true
|
||||||
if get_tag && ! matched_tag; then
|
if get_tag && ! matched_tag; then
|
||||||
api DELETE repos/$REPO/tags/"$TAG"
|
delete_tag
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
15
testdata/forgejo-release-test.sh
vendored
15
testdata/forgejo-release-test.sh
vendored
|
@ -39,8 +39,18 @@ test_wait_release() {
|
||||||
! wait_release
|
! wait_release
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test_create_delete_tag() {
|
||||||
|
delete_tag
|
||||||
|
|
||||||
|
! get_tag
|
||||||
|
create_tag
|
||||||
|
get_tag
|
||||||
|
delete_tag
|
||||||
|
! get_tag
|
||||||
|
}
|
||||||
|
|
||||||
test_ensure_tag() {
|
test_ensure_tag() {
|
||||||
api DELETE repos/$REPO/tags/$TAG || true
|
delete_tag
|
||||||
#
|
#
|
||||||
# idempotent
|
# idempotent
|
||||||
#
|
#
|
||||||
|
@ -59,7 +69,7 @@ test_ensure_tag() {
|
||||||
! matched_tag
|
! matched_tag
|
||||||
! ensure_tag
|
! ensure_tag
|
||||||
)
|
)
|
||||||
api DELETE repos/$REPO/tags/$TAG
|
delete_tag
|
||||||
}
|
}
|
||||||
|
|
||||||
test_maybe_sign_release_no_gpg() {
|
test_maybe_sign_release_no_gpg() {
|
||||||
|
@ -133,6 +143,7 @@ test_run() {
|
||||||
REPO=$user/$project
|
REPO=$user/$project
|
||||||
test_setup $project
|
test_setup $project
|
||||||
test_ensure_tag
|
test_ensure_tag
|
||||||
|
test_create_delete_tag
|
||||||
DELAY=0
|
DELAY=0
|
||||||
test_wait_release_fail
|
test_wait_release_fail
|
||||||
echo "================================ TEST BEGIN"
|
echo "================================ TEST BEGIN"
|
||||||
|
|
Loading…
Add table
Reference in a new issue