mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-27 00:08:42 +00:00
Add a script that classifies open and closed issues that the duplicate bot commented (or not commented) on and puts them into the appropriate columns of the dedicated github project board. Add a workflow that calls that script for every closed issue and also on a schedule (that's for the open ones). If you're reading this some time way later and there's no bot running around the repository leaving comments like “This issue appears to be a duplicate of...”, you can delete these files. Release Notes: - N/A
89 lines
3 KiB
YAML
89 lines
3 KiB
YAML
name: Track duplicate bot effectiveness
|
|
|
|
on:
|
|
issues:
|
|
types: [closed]
|
|
schedule:
|
|
- cron: "0 8 */2 * *" # every 2 days at 8 AM UTC
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
classify-closed-issue:
|
|
if: >
|
|
github.event_name == 'issues' &&
|
|
github.repository == 'zed-industries/zed' &&
|
|
github.event.issue.pull_request == null &&
|
|
github.event.issue.type != null &&
|
|
(github.event.issue.type.name == 'Bug' || github.event.issue.type.name == 'Crash')
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
sparse-checkout: script/github-track-duplicate-bot-effectiveness.py
|
|
sparse-checkout-cone-mode: false
|
|
|
|
- name: Get github app token
|
|
id: get-app-token
|
|
uses: actions/create-github-app-token@bef1eaf1c0ac2b148ee2a0a74c65fbe6db0631f1 # v1.11.7
|
|
with:
|
|
app-id: ${{ secrets.ZED_COMMUNITY_BOT_APP_ID }}
|
|
private-key: ${{ secrets.ZED_COMMUNITY_BOT_PRIVATE_KEY }}
|
|
owner: zed-industries
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Install dependencies
|
|
run: pip install requests
|
|
|
|
- name: Classify closed issue
|
|
env:
|
|
GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
|
|
ISSUE_NUMBER: ${{ github.event.issue.number }}
|
|
CLOSER_LOGIN: ${{ github.event.sender.login }}
|
|
STATE_REASON: ${{ github.event.issue.state_reason }}
|
|
run: |
|
|
python script/github-track-duplicate-bot-effectiveness.py \
|
|
classify-closed "$ISSUE_NUMBER" "$CLOSER_LOGIN" "$STATE_REASON"
|
|
|
|
classify-open:
|
|
if: >
|
|
github.repository == 'zed-industries/zed' &&
|
|
(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
sparse-checkout: script/github-track-duplicate-bot-effectiveness.py
|
|
sparse-checkout-cone-mode: false
|
|
|
|
- name: Get github app token
|
|
id: get-app-token
|
|
uses: actions/create-github-app-token@bef1eaf1c0ac2b148ee2a0a74c65fbe6db0631f1 # v1.11.7
|
|
with:
|
|
app-id: ${{ secrets.ZED_COMMUNITY_BOT_APP_ID }}
|
|
private-key: ${{ secrets.ZED_COMMUNITY_BOT_PRIVATE_KEY }}
|
|
owner: zed-industries
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Install dependencies
|
|
run: pip install requests
|
|
|
|
- name: Classify open issues
|
|
env:
|
|
GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
|
|
run: |
|
|
python script/github-track-duplicate-bot-effectiveness.py classify-open
|