diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..6a10fba124e54ff0440a28951aa9aaf34f9a7d0d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,26 @@ +image: ruby:2.4 + +environment: + PROJECTS: "funkwhale/funkwhale funkwhale/funkwhale.audio" + +stages: + - triage + +dry-run:triage: + stage: triage + script: + - export PROJECTS_ARRAY=($PROJECTS) + - gem install gitlab-triage + - gitlab-triage --help + - for proj in "${ArrayName[@]}"; do gitlab-triage --dry-run --token $API_TOKEN --source projects --source-id $proj --host-url https://dev.funkwhale.audio; done + when: manual + except: + - schedules + +run:triage: + stage: triage + script: + - gem install gitlab-triage + - gitlab-triage --dry-run --token $API_TOKEN --source projects --source-id $CI_PROJECT_PATH --host-url https://dev.funkwhale.audio + only: + - schedules diff --git a/.triage-policies.yml b/.triage-policies.yml new file mode 100644 index 0000000000000000000000000000000000000000..e553e01b4a0e36115321fff6d091b2a4a76eae41 --- /dev/null +++ b/.triage-policies.yml @@ -0,0 +1,202 @@ + +resource_rules: + issues: + rules: + - name: New issues + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 3 + state: opened + labels: + - No Label + limits: + most_recent: 1 + actions: + mention: + - funkwhale/steering-commitee + labels: + - "Status: Need triage" + comment: | + This issue is unlabelled after 3 days. It needs attention. Please take care of this before the end of #{2.days.from_now.strftime('%Y-%m-%d')} + + - name: Untriaged issues + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 5 + state: opened + labels: + - "Status: Need triage" + no_additional_labels: true + limits: + most_recent: 1 + actions: + mention: + - funkwhale/steering-commitee + comment: | + This issue is untriaged after 5 days. It needs attention. Please take care of this before the end of #{2.days.from_now.strftime('%Y-%m-%d')} + + - name: Untriaged issues (close) + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 7 + state: opened + labels: + - "Status: Need triage" + + no_additional_labels: true + limits: + most_recent: 1 + actions: + comment: | + This issue is unlabelled after 7 days, and was closed automatically as such. Please label it and reopen itif it is still relevant. + status: close + + - name: Inactive unscheduled issues (close) + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 90 + state: opened + milestone: none + upvotes: + attribute: upvotes + condition: less_than + threshold: 3 + limits: + most_recent: 1 + actions: + status: close + comment: | + Hi, + + We're posting this message because this issue meets the following criteria: + + * No activity in the past 90 days (since {{updated_at}}) + * No milestone (unscheduled) + * Less than 3 upvotes + + We're closing it to avoid cluttering the issue tracker, but if if you think + this issue is still relevant and needs to be acted upon, please reopen it. + + Thanks! + + - name: Inactive unscheduled issues (warn) + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 60 + state: opened + milestone: none + forbidden_labels: + - "Status: input wanted" + limits: + most_recent: 1 + actions: + comment: | + Hi, + + We're posting this message because this issue meets the following criteria: + + * No activity in the past 60 days (since {{updated_at}}) + * No milestone (unscheduled) + + We'd like to ask you to help us out and determine how we should act on this issue. + + If this issue is reporting a bug, please can you: + + - Attempt to reproduce on the latest version of Funkwhale, to help us to understand whether the bug still needs attention. + + If this issue is proposing a new feature, please can you: + + - Verify whether the feature proposal is still relevant. + + If no activity for this issue is found whithin the next 30 days, it will be closed automatically. + + Thanks for your help! :heart: + + labels: + - "Status: input wanted" + + merge_requests: + rules: + + - name: Inactive staled contributions (close) + conditions: + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 90 + state: opened + milestone: none + upvotes: + attribute: upvotes + condition: less_than + threshold: 2 + limits: + most_recent: 1 + actions: + status: close + comment: | + Hi, + + We're posting this message because this merge request meets the following criteria: + + * No activity in the past 90 days (since {{updated_at}}) + * No milestone (unscheduled) + * Less than 2 upvotes + + We're closing it to avoid cluttering the issue tracker, but if if you think + this merge request is still relevant and needs to be acted upon, please reopen it. + + Thanks! + + - name: Stale contributions (warn) + conditions: + state: opened + forbidden_labels: + - "Status: input wanted" + date: + attribute: updated_at + condition: older_than + interval_type: days + interval: 60 + milestone: none + forbidden_labels: + - "Status: input wanted" + actions: + mention: + - funkwhale/steering-commitee + comment: | + Hi, + + We're posting this message because this merge request meets the following criteria: + + * No activity in the past 60 days (since {{updated_at}}) + + We'd like to ask you to help us out and determine how we should act on this merge request: + + - is it still a WIP? + - is it still relevant? + - is it missing some reviews? + - do you need help or guidance to proceed? + + Some community members have been pinged and will have a look at it too. + + Thanks for your help! :heart: + + labels: + - "Status: input wanted"