diff --git a/.github/reproduire/needs-reproduction.md b/.github/reproduire/needs-reproduction.md new file mode 100644 index 0000000000..7b260b8185 --- /dev/null +++ b/.github/reproduire/needs-reproduction.md @@ -0,0 +1,32 @@ +Would you be able to provide a [reproduction](https://nuxt.com/docs/community/reporting-bugs/#create-a-minimal-reproduction)? 🙏 + +
+More info + +### Why do I need to provide a reproduction? + +Reproductions make it possible for us to triage and fix issues quickly with a relatively small team. It helps us discover the source of the problem, and also can reveal assumptions you or we might be making. + +### What will happen? + +If you've provided a reproduction, we'll remove the label and try to reproduce the issue. If we can, we'll mark it as a bug and prioritise it based on its severity and how many people we think it might affect. + +If `needs reproduction` labeled issues don't receive any substantial activity (e.g., new comments featuring a reproduction link), we'll close them. That's not because we don't care! At any point, feel free to comment with a reproduction and we'll reopen it. + +### How can I create a reproduction? + +We have a couple of templates for starting with a minimal reproduction: + +👉 https://stackblitz.com/github/nuxt/starter/tree/v3-stackblitz +👉 https://codesandbox.io/s/github/nuxt/starter/v3-codesandbox + +A public GitHub repository is also perfect. 👌 + +Please ensure that the reproduction is as **minimal** as possible. See more details [in our guide](https://nuxt.com/docs/community/reporting-bugs/#create-a-minimal-reproduction). + +You might also find these other articles interesting and/or helpful: + +- [The Importance of Reproductions](https://antfu.me/posts/why-reproductions-are-required) +- [How to Generate a Minimal, Complete, and Verifiable Example](https://stackoverflow.com/help/mcve) + +
diff --git a/.github/workflows/reproduire-close.yml b/.github/workflows/reproduire-close.yml new file mode 100644 index 0000000000..858735bc1d --- /dev/null +++ b/.github/workflows/reproduire-close.yml @@ -0,0 +1,23 @@ +name: Close incomplete issues +on: + workflow_dispatch: + schedule: + - cron: '30 1 * * *' # run every day + +permissions: + issues: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@1160a2240286f5da8ec72b1c0816ce2481aabf84 # v8.0.0 + with: + days-before-stale: -1 # Issues and PR will never be flagged stale automatically. + stale-issue-label: 'needs reproduction' # Label that flags an issue as stale. + only-labels: 'needs reproduction' # Only process these issues + days-before-issue-close: 7 + ignore-updates: true + remove-stale-when-updated: false + close-issue-message: This issue was closed because it was open for 7 days without a reproduction. + close-issue-label: closed-by-bot diff --git a/.github/workflows/reproduire.yml b/.github/workflows/reproduire.yml new file mode 100644 index 0000000000..32cac73dfe --- /dev/null +++ b/.github/workflows/reproduire.yml @@ -0,0 +1,14 @@ +name: Reproduire +on: + issues: + types: [labeled] + +permissions: + issues: write + +jobs: + reproduire: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + - uses: Hebilicious/reproduire@4b686ae9cbb72dad60f001d278b6e3b2ce40a9ac # v0.0.9-mp