From 96674dbb359b0121b1d0aaa908c93dc11344c2f7 Mon Sep 17 00:00:00 2001 From: Ian Stapleton Cordasco Date: Sun, 22 Oct 2023 20:45:10 -0500 Subject: [PATCH] Migrate to GitHub Issue Forms (#1022) We've had a few issues lately that haven't filled in all of the pieces of required data. Rather than rely on humans to see and request that information from people, let's make the tooling enforce that for us. This also pre-labels things for us so we can better understand a new issue. --- .github/ISSUE_TEMPLATE.md | 36 ----- .github/ISSUE_TEMPLATE/01_upload_failed.yml | 145 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/02_bug.yml | 127 +++++++++++++++++ .github/ISSUE_TEMPLATE/03_feature.yml | 41 ++++++ .github/ISSUE_TEMPLATE/04_other.yml | 34 +++++ .github/ISSUE_TEMPLATE/config.yml | 4 + 6 files changed, 351 insertions(+), 36 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/01_upload_failed.yml create mode 100644 .github/ISSUE_TEMPLATE/02_bug.yml create mode 100644 .github/ISSUE_TEMPLATE/03_feature.yml create mode 100644 .github/ISSUE_TEMPLATE/04_other.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 13733a75..00000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,36 +0,0 @@ -## Your Environment -Thank you for taking the time to report an issue. - -To more efficiently resolve this issue, we'd like to know some basic information about your system and setup. - -1) Your operating system: - -2) Version of python you are running: -``` bash -python --version -``` - -3) How did you install twine? Did you use your operating system's package manager or pip or something else? - -4) Version of twine you have installed (include complete output of): -``` bash -twine --version -``` - -5) Which package repository are you targeting? - - -If you're having issues uploading a specific package, you *must* include a copy of the following: -* The package's `PKG-INFO` file -* A redacted version of your `.pypirc` file (**REMOVE ALL USERNAMES & PASSWORDS BEFORE UPLOADING**) - - -## The Issue -Please describe the issue that you are experiencing. - - -## Steps to Reproduce -If the issue is predictable and consistently reproducible, please list the steps here. - - - diff --git a/.github/ISSUE_TEMPLATE/01_upload_failed.yml b/.github/ISSUE_TEMPLATE/01_upload_failed.yml new file mode 100644 index 00000000..e25b6075 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01_upload_failed.yml @@ -0,0 +1,145 @@ +name: "Upload Error" +description: "Failed to upload artifact(s)" +labels: ["support"] +body: + - type: markdown + attributes: + value: > + ## Your Environment + Thank you for taking the time to report an issue. + + To more efficiently resolve this issue, we'd like to know some basic + information about your system and setup. + + - type: checkboxes + attributes: + label: "Is there an existing issue for this?" + description: "Please search to see if there's an existing issue for what you're reporting" + options: + - label: "I have searched the existing issues (open and closed), and could not find an existing issue" + required: true + + - type: textarea + id: search-keywords + attributes: + label: "What keywords did you use to search existing issues?" + description: "In the event that you could not find a duplicate, but it existed, this will help us better link issues in the future" + placeholder: | + authorization + artifactory + jfrog + devpi + + - type: dropdown + id: environment-os + attributes: + label: "What operating system(s) are you using?" + multiple: true + options: + - "Windows 10" + - "Windows 11" + - "Linux" + - "macOS" + - "Other" + validations: + required: true + + - type: markdown + id: environment-os-other + attributes: + label: "If you selected 'Other', describe your Operating System here" + validations: + required: false + + - type: textarea + id: environment-py + attributes: + label: "What version of Python are you running?" + description: "Please copy and paste the command and output used to retrieve this (this will be console rendered automatically)" + placeholder: | + $ python --version + Python 3.11.4 + render: console + validations: + required: true + + - type: textarea + id: environment-installer + attributes: + label: "How did you install twine? Did you use your operating system's package manager or pip or something else?" + description: "Please copy and paste the command(s) you used to install twine" + placeholder: | + $ pip install twine + $ dnf install twine + $ apt install twine + $ brew install twine + render: console + validations: + required: true + + - type: textarea + id: version + attributes: + label: "What version of twine do you have installed (include the complete output)" + description: "Please copy and paste the complete output of `twine --version`" + placeholder: | + $ twine --version + twine version 1.15.0 (pkginfo: 1.4.2, requests: 2.19.1, setuptools: 40.4.3, + requests-toolbelt: 0.8.0, tqdm: 4.26.0) + render: console + validations: + required: true + + - type: markdown + id: package-repository + attributes: + label: "Which package repository are you using?" + placeholder: | + pypi.org + test.pypi.org + validations: + required: true + + - type: textarea + id: issue + attributes: + label: "Please describe the issue that you are experiencing" + placeholder: "When I run twine upload it does ... but I expect it to do ..." + validations: + required: true + + - type: textarea + id: reproduction-steps + attributes: + label: "Please list the steps required to reproduce this behaviour" + placeholder: | + 1. Install twine in a virtual environment + 1. Build this package at github.com/... + 1. Run `twine upload dist/*` + validations: + required: true + + - type: textarea + id: pkg-info + attributes: + label: "Please include the PKG-INFO file contents from the artifact you're attempting to upload" + description: "note: this will be email formatted automatically" + render: email + validations: + required: true + + - type: textarea + id: pypirc + attributes: + label: "A redacted version of your `.pypirc` file" + description: "REMOVE ALL USERNAMES & PASSWORDS; note: this will be ini formatted automatically" + render: ini + validations: + required: true + + - type: textarea + id: other + attributes: + label: "Anything else you'd like to mention?" + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/02_bug.yml b/.github/ISSUE_TEMPLATE/02_bug.yml new file mode 100644 index 00000000..a6543800 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02_bug.yml @@ -0,0 +1,127 @@ +name: "Bug Report" +description: "Something went wrong with twine (other than an upload error)" +labels: ["bug"] +body: + - type: markdown + attributes: + value: > + ## Your Environment + Thank you for taking the time to report an issue. + + To more efficiently resolve this issue, we'd like to know some basic + information about your system and setup. + + - type: checkboxes + attributes: + label: "Is there an existing issue for this?" + description: "Please search to see if there's an existing issue for what you're reporting" + options: + - label: "I have searched the existing issues (open and closed), and could not find an existing issue" + required: true + + - type: textarea + id: search-keywords + attributes: + label: "What keywords did you use to search existing issues?" + description: "In the event that you could not find a duplicate, but it existed, this will help us better link issues in the future" + placeholder: | + authorization + artifactory + jfrog + devpi + + - type: dropdown + id: environment-os + attributes: + label: "What operating system are you using?" + multiple: true + options: + - "Windows 10" + - "Windows 11" + - "Linux" + - "macOS" + - "Other" + validations: + required: true + + - type: markdown + id: environment-os-other + attributes: + label: "If you selected 'Other', describe your Operating System here" + validations: + required: false + + - type: textarea + id: environment-py + attributes: + label: "What version of Python are you running?" + description: "Please copy and paste the command and output used to retrieve this (this will be console rendered automatically)" + placeholder: | + $ python --version + Python 3.11.4 + render: console + validations: + required: true + + - type: textarea + id: environment-installer + attributes: + label: "How did you install twine? Did you use your operating system's package manager or pip or something else?" + description: "Please copy and paste the command(s) you used to install twine" + placeholder: | + $ pip install twine + $ dnf install twine + $ apt install twine + $ brew install twine + render: console + validations: + required: true + + - type: textarea + id: version + attributes: + label: "What version of twine do you have installed (include the complete output)" + description: "Please copy and paste the complete output of `twine --version`" + placeholder: | + $ twine --version + twine version 1.15.0 (pkginfo: 1.4.2, requests: 2.19.1, setuptools: 40.4.3, + requests-toolbelt: 0.8.0, tqdm: 4.26.0) + render: console + validations: + required: true + + - type: markdown + id: package-repository + attributes: + label: "Which package repository are you using?" + placeholder: | + pypi.org + test.pypi.org + validations: + required: true + + - type: textarea + id: issue + attributes: + label: "Please describe the issue that you are experiencing" + placeholder: "When I run twine upload it does ... but I expect it to do ..." + validations: + required: true + + - type: textarea + id: reproduction-steps + attributes: + label: "Please list the steps required to reproduce this behaviour" + placeholder: | + 1. Install twine in a virtual environment + 1. Build this package at github.com/... + 1. Run `twine upload dist/*` + validations: + required: true + + - type: textarea + id: other + attributes: + label: "Anything else you'd like to mention?" + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/03_feature.yml b/.github/ISSUE_TEMPLATE/03_feature.yml new file mode 100644 index 00000000..2968c65e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03_feature.yml @@ -0,0 +1,41 @@ +name: "Feature Request" +description: "Something is missing from Twine" +labels: ["enhancement", "feature request"] +body: + - type: checkboxes + attributes: + label: "Is there an existing issue for this?" + description: "Please search to see if there's an existing issue for what you're reporting" + options: + - label: "I have searched the existing issues (open and closed), and could not find an existing issue" + required: true + + - type: textarea + id: search-keywords + attributes: + label: "What keywords did you use to search existing issues?" + description: "In the event that you could not find a duplicate, but it existed, this will help us better link issues in the future" + placeholder: | + authorization + artifactory + jfrog + devpi + + - type: textarea + id: problem + attributes: + label: "Please describe the problem you are attempting to solve with this request" + description: "Is there missing behaviour or some other issue?" + placeholder: "When I run twine upload it does ... but I wish it would ..." + validations: + required: true + + - type: textarea + id: proposed-solution + attributes: + label: "How do you think we should solve this?" + + - type: textarea + id: other + attributes: + label: "Anything else you'd like to mention?" diff --git a/.github/ISSUE_TEMPLATE/04_other.yml b/.github/ISSUE_TEMPLATE/04_other.yml new file mode 100644 index 00000000..9a6c1f69 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/04_other.yml @@ -0,0 +1,34 @@ +name: "Other" +description: "This does not fit into the other categories" +labels: ["enhancement", "feature request"] +body: + - type: checkboxes + attributes: + label: "Is there an existing issue for this?" + description: "Please search to see if there's an existing issue for what you're reporting" + options: + - label: "I have searched the existing issues (open and closed), and could not find an existing issue" + required: true + + - type: textarea + id: search-keywords + attributes: + label: "What keywords did you use to search existing issues?" + description: "In the event that you could not find a duplicate, but it existed, this will help us better link issues in the future" + placeholder: | + authorization + artifactory + jfrog + devpi + + - type: textarea + id: other-description + attributes: + label: "Please describe why your using this option" + validations: + required: true + + - type: textarea + id: other + attributes: + label: "Anything else you'd like to mention?" diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..ed45bffd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,4 @@ +blank_issues_enabled: false +contact_links: +- name: Packaging issues or metadata issues + url: https://github.com/pypa/packaging-problems/issues