loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request 'chore(ci): remove old releases from forgejo-integration' (#4920) from earl-warren/forgejo:wip-integration-cleanup into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4920
Reviewed-by: Gusted <gusted@noreply.codeberg.org>

+40
+40
.forgejo/workflows/forgejo-integration-cleanup.yml
··· 1 + on: 2 + workflow_dispatch: 3 + 4 + schedule: 5 + - cron: '@daily' 6 + 7 + jobs: 8 + integration-cleanup: 9 + if: vars.ROLE == 'forgejo-integration' 10 + runs-on: docker 11 + container: 12 + image: 'code.forgejo.org/oci/node:20-bookworm' 13 + steps: 14 + 15 + - name: apt install curl jq 16 + run: | 17 + export DEBIAN_FRONTEND=noninteractive 18 + apt-get update -qq 19 + apt-get -q install -qq -y curl jq 20 + 21 + - name: remove old releases and tags 22 + run: | 23 + url=https://any:${{ secrets.TOKEN }}@codeberg.org 24 + curl -sS "$url/api/v1/repos/forgejo-integration/forgejo/releases" | jq -r '.[] | "\(.published_at) \(.tag_name)"' | sort | while read published_at version ; do 25 + if echo $version | grep -e '-test$' >/dev/null; then 26 + old="18 months" 27 + else 28 + old="1 day" 29 + fi 30 + too_old=$(env -i date --date="- $old" +%F) 31 + too_old_seconds=$(env -i date --date="- $old" +%s) 32 + published_at_seconds=$(env -i date --date="$published_at" +%s) 33 + if test $published_at_seconds -le $too_old_seconds ; then 34 + echo "$version was published more than $old ago ($published_at <= $too_old) and will be removed" 35 + curl -X DELETE -sS "$url/api/v1/repos/forgejo-integration/forgejo/releases/tags/$version" 36 + curl -X DELETE -sS "$url/api/v1/repos/forgejo-integration/forgejo/tags/$version" 37 + else 38 + echo "$version was published less than $old ago" 39 + fi 40 + done