From 74923307218903df2d09331e9b104dd109c65cec 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. --- .forgejo/workflows/publish-release.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.forgejo/workflows/publish-release.yml b/.forgejo/workflows/publish-release.yml index 66432f37a0..e4f7028ca7 100644 --- a/.forgejo/workflows/publish-release.yml +++ b/.forgejo/workflows/publish-release.yml @@ -59,6 +59,24 @@ 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: 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: