From b24c4dcc86208ee478b453c5873dac03c3753c24 Mon Sep 17 00:00:00 2001 From: Rodin Date: Sun, 10 May 2026 08:39:19 -0700 Subject: [PATCH] ci: add PR ready gate to clear self-reviewed label on push When a PR is pushed after being marked self-reviewed, the label is now stale and should be removed. This matches the gargoyle CI behavior. On synchronize: - Remove self-reviewed label if present - Reassign PR back to the author --- .gitea/workflows/pr-ready-gate.yml | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .gitea/workflows/pr-ready-gate.yml diff --git a/.gitea/workflows/pr-ready-gate.yml b/.gitea/workflows/pr-ready-gate.yml new file mode 100644 index 0000000..639876c --- /dev/null +++ b/.gitea/workflows/pr-ready-gate.yml @@ -0,0 +1,32 @@ +name: PR Ready Gate + +on: + pull_request: + types: [synchronize] + +jobs: + clear-labels: + runs-on: ubuntu-24.04 + if: contains(github.event.pull_request.labels.*.name, 'self-reviewed') + steps: + - name: Remove self-reviewed label, reassign to author + env: + GITEA_TOKEN: ${{ secrets.RODIN_TOKEN }} + run: | + PR_NUMBER=${{ github.event.pull_request.number }} + AUTHOR=${{ github.event.pull_request.user.login }} + SELF_REVIEWED_LABEL_ID=37 + + # Remove self-reviewed label if present + curl -sS -X DELETE \ + -H "Authorization: token $GITEA_TOKEN" \ + "https://gitea.weiker.me/api/v1/repos/${{ github.repository }}/issues/${PR_NUMBER}/labels/${SELF_REVIEWED_LABEL_ID}" || true + + # Reassign to author + curl -sS -X PATCH \ + -H "Authorization: token $GITEA_TOKEN" \ + -H "Content-Type: application/json" \ + -d "{\"assignees\": [\"${AUTHOR}\"]}" \ + "https://gitea.weiker.me/api/v1/repos/${{ github.repository }}/pulls/${PR_NUMBER}" + + echo "Cleared self-reviewed label and reassigned PR #${PR_NUMBER} to ${AUTHOR}"