From 14f6f342ab10e2cd6ddbb3c1ed82c38e053d166a Mon Sep 17 00:00:00 2001 From: "Miss Circle (Moxie)" <124418090+moxie-coder@users.noreply.github.com> Date: Sat, 5 Oct 2024 17:33:27 -0400 Subject: [PATCH 1/2] Add files via upload --- .github/workflows/label-issue.yml | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/label-issue.yml diff --git a/.github/workflows/label-issue.yml b/.github/workflows/label-issue.yml new file mode 100644 index 00000000000..eeb83350c66 --- /dev/null +++ b/.github/workflows/label-issue.yml @@ -0,0 +1,52 @@ +name: "Issue Labeler" +on: + issues: + types: + - opened + - reopened + - edited + +jobs: + # When an issue is opened, perform a similarity check for potential duplicates. + # If some are found, add a label and comment listing the potential duplicate issues. + potential-duplicate: + name: Detect potential duplicate issues + runs-on: ubuntu-latest + steps: + - uses: wow-actions/potential-duplicates@v1 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # Issue title filter work with anymatch https://www.npmjs.com/package/anymatch. + # Any matched issue will stop detection immediately. + # You can specify multi filters in each line. + filter: '' + # Exclude keywords in title before detecting. + exclude: '' + # Label to set, when potential duplicates are detected. + label: 'potential duplicate' + # Get issues with state to compare. Supported state: 'all', 'closed', 'open'. + state: all + # If similarity is higher than this threshold([0,1]), issue will be marked as duplicate. + # Turn this up if the detection is too sensitive + threshold: 0.6 + # Reactions to be add to comment when potential duplicates are detected. + # Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes" + # reactions: '-1' + # Comment to post when potential duplicates are detected. + comment: > + Potential duplicates: {{#issues}} + - [#{{ number }}] {{ title }} ({{ accuracy }}%) + {{/issues}} + # When an issue is opened, detect if it has an empty body or incomplete issue form. + # If it does, close the issue immediately. + empty-issues: + name: Close empty issues + runs-on: ubuntu-latest + steps: + - name: Run empty issues closer action + uses: rickstaa/empty-issues-closer-action@v1 + env: + github_token: ${{ secrets.GITHUB_TOKEN }} + with: + close_comment: Closing this issue because it appears to be empty. Please update the issue for it to be reopened. + open_comment: Reopening this issue because the author provided more information. From 95acae63536afac4cc9936215682597eee61939e Mon Sep 17 00:00:00 2001 From: UltimateQuack Date: Sat, 5 Oct 2024 21:59:32 -0300 Subject: [PATCH 2/2] Better autolock? (#641) --- .github/workflows/autolock.yml | 36 ++++++++++++++++------------------ 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/.github/workflows/autolock.yml b/.github/workflows/autolock.yml index 16307531188..bae8b285171 100644 --- a/.github/workflows/autolock.yml +++ b/.github/workflows/autolock.yml @@ -1,24 +1,22 @@ -name: Lock Closed Issues - +name: Close inactive issues on: - workflow_dispatch + schedule: + - cron: "30 1 * * *" jobs: - lock-closed-issues: + close-issues: runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Install jq - run: sudo apt-get update && sudo apt-get install -y jq - - - name: Lock closed issues - run: | - # Get a list of all closed issues in the repository - issues=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${{ github.repository }}/issues?state=closed" | jq -r '.[] | .number') - - # Loop through each closed issue and lock it - for issue in $issues; do - curl -s -X PUT -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -d '{"locked":true}' "https://api.github.com/repos/${{ github.repository }}/issues/$issue/lock" - done + - uses: actions/stale@v5 + with: + days-before-issue-stale: 30 + days-before-issue-close: 7 + stale-issue-label: "stale" + stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." + close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale." + days-before-pr-stale: -1 + days-before-pr-close: -1 + repo-token: ${{ secrets.GITHUB_TOKEN }}