From c565439eb9081259baaf7747802a56883aff650d Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Wed, 13 Nov 2024 12:30:25 +0100 Subject: [PATCH] chore(ci): trigger a mirror when a release is publish Notify https://code.forgejo.org/forgejo/forgejo that a new release was published by setting the trigger label to https://code.forgejo.org/forgejo/forgejo/issues/5. It is only ever useful when a stable release is published, the experimental releases are not mirrored. But it is triggered in all cases. This will waste a few mirror check daily, when experimental releases are built. This is an improvement compared to the current situation where mirrors are checked hourly: * Instead of being checked 24 times per day it will be down to less than 5 * The mirror happens immediately after the release is published instead of waiting for the next run of the cron job. If a mirror operation is in progress, as evidenced by the presence of the trigger label on the issure, it means two releases are being published. Wait up to 1h for the mirror to complete and remove the trigger label. (cherry picked from commit 74923307218903df2d09331e9b104dd109c65cec) Conflicts: .forgejo/workflows/publish-release.yml trivial context conflict --- .forgejo/workflows/publish-release.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/publish-release.yml b/.forgejo/workflows/publish-release.yml index 28451e977e..1d6bdbc7c6 100644 --- a/.forgejo/workflows/publish-release.yml +++ b/.forgejo/workflows/publish-release.yml @@ -59,8 +59,25 @@ jobs: gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }} verbose: ${{ vars.VERBOSE }} + - name: get trigger mirror issue + id: mirror + uses: https://code.forgejo.org/infrastructure/issue-action/get@v1.1.0 + with: + forgejo: https://code.forgejo.org + repository: forgejo/forgejo + labels: mirror-trigger - - name: upgrade v*.next.forgejo.org (k8s) + - name: trigger the mirror + uses: https://code.forgejo.org/infrastructure/issue-action/set@v1.1.0 + with: + forgejo: https://code.forgejo.org + repository: forgejo/forgejo + token: ${{ secrets.LABEL_ISSUE_FORGEJO_MIRROR_TOKEN }} + numbers: ${{ steps.mirror.outputs.numbers }} + label-wait-if-exists: 3600 + label: trigger + + - name: upgrade v*.next.forgejo.org uses: https://code.forgejo.org/infrastructure/next-digest@v1.1.0 with: url: https://placeholder:${{ secrets.TOKEN_NEXT_DIGEST }}@code.forgejo.org/infrastructure/next-digest