diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000000..4b66b16659 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,133 @@ +name: Bug Report +description: Helps us improve our product! +labels: "Needs triage, [Type] Bug" +title: "[Bug]: " +body: + - type: markdown + attributes: + value: | + ### Thanks for contributing! + + Please write a clear title, then fill in as much details as possible. + + __Avoid using image hosting services such as Cloudup, Droplr, Imgur, etc., to link to media.__ + Instead, attach screenshot(s) or recording(s) directly in any of the text areas below: click, then drag and drop. + - type: textarea + id: summary + attributes: + label: Quick summary + - type: textarea + id: steps + attributes: + label: Steps to reproduce + placeholder: | + 1. Start at `site-domain.com/blog`. + 2. Click on any blog post. + 3. Click on the 'Like' button. + 4. ... + + Attach any media by drag and dropping or selecting upload. + validations: + required: true + - type: textarea + id: expected + attributes: + label: What you expected to happen + placeholder: | + e.g. The post should be liked. + validations: + required: true + - type: textarea + id: actual + attributes: + label: What actually happened + placeholder: | + e.g. Clicking the button does nothing visibly. + validations: + required: true + - type: dropdown + id: browser + attributes: + label: Browser + description: (You may select more than one) + options: + - Google Chrome/Chromium + - Mozilla Firefox + - Microsoft Edge + - Apple Safari + - iOS Safari + - Android Chrome + multiple: true + - type: input + id: issue_context + attributes: + label: Context + placeholder: | + e.g. Customer report, details of your exploratory testing, etc. + - type: markdown + attributes: + value: | + --- + ## Additional context + + The following section is optional. If you're an Automattician, you should be able to fill it in. If not, please scroll to the bottom and submit the issue. + - type: dropdown + id: site-type + attributes: + label: Platform (Simple, Atomic, or both?) + description: (You may select more than one) + options: + - Simple + - Atomic + - Self-hosted + multiple: true + - type: textarea + id: other_notes + attributes: + label: Other notes + placeholder: | + e.g. Logs, CLI or console errors, notes, observations, etc. + - type: markdown + attributes: + value: | + --- + ## Issue severity + + Please provide details around how often the issue is reproducible & how many users are affected. + - type: dropdown + id: reproducibility + attributes: + label: Reproducibility + options: + - Consistent + - Intermittent + - Once + validations: + required: true + - type: dropdown + id: users-affected + attributes: + label: Severity + description: How many users are impacted? A guess is fine. + options: + - One + - Some (< 50%) + - Most (> 50%) + - All + - type: dropdown + id: workarounds + attributes: + label: Available workarounds? + options: + - No and the platform is unusable + - No but the platform is still usable + - Yes, difficult to implement + - Yes, easy to implement + - There is no user impact + - type: textarea + id: workarounds-detail + attributes: + label: Workaround details + description: If you are aware of a workaround, please describe it below. + placeholder: | + e.g. There is an alternative way to access this setting in the sidebar, but it's not readily apparent. diff --git a/.github/workflows/gardening.yml b/.github/workflows/gardening.yml new file mode 100644 index 0000000000..206bb4d1b7 --- /dev/null +++ b/.github/workflows/gardening.yml @@ -0,0 +1,45 @@ +name: Repo gardening + +on: + pull_request_target: # When a PR is opened or closed + types: [opened, closed] + issues: # For auto-triage of issues. + types: [opened, reopened, edited, closed] + issue_comment: # To gather support references in issue comments. + types: [created] +concurrency: + # For pull_request_target, cancel any concurrent jobs with the same type (e.g. "opened", "labeled") and branch. + # Don't cancel any for other events, accomplished by grouping on the unique run_id. + group: gardening-${{ github.event_name }}-${{ github.event.action }}-${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.ref || github.run_id }} + cancel-in-progress: true + +jobs: + repo-gardening: + name: 'Perform automated triage tasks on PRs and issues' + runs-on: ubuntu-latest + if: github.event_name == 'pull_request_target' || github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name + timeout-minutes: 10 + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Wait for prior instances of the workflow to finish + uses: softprops/turnstyle@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: 'Run gardening action' + uses: automattic/action-repo-gardening@trunk + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + slack_token: ${{ secrets.SLACK_TOKEN }} + slack_team_channel: ${{ secrets.SLACK_TEAM_CHANNEL }} + slack_he_triage_channel: ${{ secrets.SLACK_HE_TRIAGE_CHANNEL }} + slack_quality_channel: ${{ secrets.SLACK_QUALITY_CHANNEL }} + tasks: 'cleanLabels,flagOss,triageNewIssues,gatherSupportReferences,replyToCustomersReminder'