diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 66196fe99ba9..489c6369100e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -2,6 +2,7 @@ name: Bug Report description: Report an Electron bug title: "[Bug]: " labels: "bug :beetle:" +projects: ["electron/90"] body: - type: checkboxes attributes: diff --git a/.github/workflows/issue-labeled.yml b/.github/workflows/issue-labeled.yml index 48c027613403..6578c3c78f3e 100644 --- a/.github/workflows/issue-labeled.yml +++ b/.github/workflows/issue-labeled.yml @@ -8,7 +8,30 @@ permissions: # added using https://github.com/step-security/secure-workflows contents: read jobs: - issue-labeled: + issue-labeled-blocked: + name: blocked/* label added + if: startsWith(github.event.label.name, 'blocked/') + runs-on: ubuntu-latest + steps: + - name: Generate GitHub App token + id: generate-token + env: + RELEASE_BOARD_GH_APP_CREDS: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }} + run: | + set -eo pipefail + TOKEN=$(npx @electron/github-app-auth --creds=$RELEASE_BOARD_GH_APP_CREDS --org electron) + echo "TOKEN=$TOKEN" >> "$GITHUB_OUTPUT" + - name: Set status + if: ${{ steps.generate-token.outputs.TOKEN }} + uses: github/update-project-action@2d475e08804f11f4022df7e21f5816531e97cb64 # v2 + with: + github_token: ${{ steps.generate-token.outputs.TOKEN }} + organization: electron + project_number: 90 + content_id: ${{ github.event.issue.node_id }} + field: Status + value: 🛑 Blocked + issue-labeled-blocked-need-repro: name: blocked/need-repro label added if: github.event.label.name == 'blocked/need-repro' permissions: diff --git a/.github/workflows/issue-unlabeled.yml b/.github/workflows/issue-unlabeled.yml new file mode 100644 index 000000000000..41d4658470a1 --- /dev/null +++ b/.github/workflows/issue-unlabeled.yml @@ -0,0 +1,42 @@ +name: Issue Unlabeled + +on: + issues: + types: [unlabeled] + +permissions: + contents: read + +jobs: + issue-unlabeled-blocked: + name: All blocked/* labels removed + if: startsWith(github.event.label.name, 'blocked/') + runs-on: ubuntu-latest + steps: + - name: Check for any blocked labels + id: check-for-blocked-labels + run: | + set -eo pipefail + BLOCKED_LABEL_COUNT=$(echo '${{ toJSON(github.event.issue.labels.*.name) }}' | jq '[ .[] | select(startswith("blocked/")) ] | length') + if [[ $BLOCKED_LABEL_COUNT -eq 0 ]]; then + echo "NOT_BLOCKED=1" >> "$GITHUB_OUTPUT" + fi + - name: Generate GitHub App token + if: ${{ steps.check-for-blocked-labels.outputs.NOT_BLOCKED }} + id: generate-token + env: + RELEASE_BOARD_GH_APP_CREDS: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }} + run: | + set -eo pipefail + TOKEN=$(npx @electron/github-app-auth --creds=$RELEASE_BOARD_GH_APP_CREDS --org electron) + echo "TOKEN=$TOKEN" >> "$GITHUB_OUTPUT" + - name: Set status + if: ${{ steps.generate-token.outputs.TOKEN }} + uses: github/update-project-action@2d475e08804f11f4022df7e21f5816531e97cb64 # v2 + with: + github_token: ${{ steps.generate-token.outputs.TOKEN }} + organization: electron + project_number: 90 + content_id: ${{ github.event.issue.node_id }} + field: Status + value: 📥 Was Blocked