name: PR Labeled with ready-for-e2e on: pull_request_target: types: [labeled] branches: - main - gh-actions-test-branch workflow_dispatch: jobs: run-e2e-jobs: name: Run E2E Jobs runs-on: buildjet-2vcpu-ubuntu-2204 permissions: pull-requests: read steps: - uses: actions/checkout@v4 - uses: ./.github/actions/dangerous-git-checkout - name: Check Label and Retrigger Checks uses: actions/github-script@v7 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const labelName = context.payload.label.name; const prNumber = context.payload.pull_request.number; const owner = context.repo.owner; const repo = context.repo.repo; if (labelName === 'ready-for-e2e') { console.log(`Running E2E jobs for PR #${prNumber}...`); const checkRuns = await github.rest.checks.listForRef({ owner, repo, ref: context.payload.pull_request.head.sha, }); for (const check of checkRuns.data.check_runs) { console.log('check.name', check.name); if (check.name.includes('e2e')) { await github.rest.actions.reRunJob({ owner, repo, job_id: check.id, }); console.log(`Triggering job #${check.id}`); } } console.log(`Triggered E2E checks for PR #${prNumber}`); } else { console.log(`Label ${labelName} does not trigger re-running checks.`); }