summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/ISSUE_TEMPLATE/bug-report.yml129
-rw-r--r--.github/ISSUE_TEMPLATE/config.yml15
-rw-r--r--.github/ISSUE_TEMPLATE/documentation-report.yml91
-rw-r--r--.github/ISSUE_TEMPLATE/feature-request.yml104
-rw-r--r--.github/workflows/automerge.yml27
-rw-r--r--.github/workflows/main.yml42
-rw-r--r--.github/workflows/python-tests.yml130
7 files changed, 408 insertions, 130 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml
new file mode 100644
index 00000000..73911ec8
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug-report.yml
@@ -0,0 +1,129 @@
+---
+name: 🐛 Bug report
+description: >-
+ Create a report to help us improve when
+ something is not working correctly
+title: '[BUG] '
+labels:
+- bug
+- Needs Triage
+
+body:
+- type: markdown
+ attributes:
+ value: >
+ **Thank you for wanting to report a bug in setuptools!**
+
+
+ ⚠
+ Verify first that your issue is not
+ [already reported on GitHub][issue search] and keep in mind and
+ keep in mind that we may have to keep the current behavior because
+ [every change breaks someone's workflow][XKCD 1172].
+ We try to be mindful about this.
+
+ Also test if the latest release and main branch are affected too.
+
+
+ If you are seeking community support, please consider
+ [starting a discussion][Discussions].
+
+
+ Thank you for your collaboration!
+
+
+ [Discussions]: https://github.com/pypa/setuptools/discussions
+
+ [issue search]: https://github.com/pypa/setuptools/search?q=is%3Aissue&type=issues
+
+ [XKCD 1172]: https://xkcd.com/1172/
+
+- type: markdown
+ attributes:
+ value: >-
+ **Environment**
+- type: input
+ attributes:
+ label: setuptools version
+ placeholder: For example, setuptools===60.4.2
+ validations:
+ required: true
+- type: input
+ attributes:
+ label: Python version
+ placeholder: For example, Python 3.10
+ validations:
+ required: true
+- type: input
+ attributes:
+ label: OS
+ placeholder: For example, Gentoo Linux, RHEL 8, Arch Linux, macOS etc.
+ validations:
+ required: true
+- type: textarea
+ attributes:
+ label: Additional environment information
+ description: >-
+ Feel free to add more information about your environment here.
+ placeholder: >-
+ This is only happening when I run setuptools on my fridge's patched firmware 🤯
+
+- type: textarea
+ attributes:
+ label: Description
+ description: >-
+ A clear and concise description of what the bug is.
+ placeholder: >-
+ I tried doing X and I expected it to result in Y because the docs
+ mentioned Z but what happened next what totally unexpected!
+ And here's why...
+ validations:
+ required: true
+
+- type: textarea
+ attributes:
+ label: Expected behavior
+ description: >-
+ A clear and concise description of what you expected to happen.
+ placeholder: >-
+ I tried doing X and I expected it to result in Y. I'm confused...
+ validations:
+ required: true
+
+- type: textarea
+ attributes:
+ label: How to Reproduce
+ description: >-
+ Describe the steps to reproduce this bug.
+ placeholder: |
+ 1. Integrate setuptools via '...'
+ 2. Then run '...'
+ 3. An error occurs.
+ validations:
+ required: true
+
+- type: textarea
+ attributes:
+ label: Output
+ description: >-
+ Paste the output of the steps above, including the commands
+ themselves and setuptools' output/traceback etc.
+ value: |
+ ```console
+
+ ```
+ validations:
+ required: true
+
+
+- type: checkboxes
+ attributes:
+ label: Code of Conduct
+ description: |
+ Read the [PSF Code of Conduct][CoC] first.
+
+ [CoC]: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
+ options:
+ - label: I agree to follow the PSF Code of Conduct
+ required: true
+...
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 00000000..dde102ca
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,15 @@
+# Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
+blank_issues_enabled: false # default: true
+contact_links:
+- name: 🤔 Have questions or need support?
+ url: https://github.com/pypa/setuptools/discussions
+ about: This is a place for the community to exchange ideas and recipes
+- name: 💬 Discourse
+ url: https://discuss.python.org/c/packaging
+ about: |
+ Please ask typical Q&A here: general ideas for Python packaging,
+ questions about structuring projects and so on
+- name: >-
+ 💬 IRC: #pypa @ Freenode
+ url: https://webchat.freenode.net/#pypa
+ about: Chat with devs
diff --git a/.github/ISSUE_TEMPLATE/documentation-report.yml b/.github/ISSUE_TEMPLATE/documentation-report.yml
new file mode 100644
index 00000000..238ce896
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/documentation-report.yml
@@ -0,0 +1,91 @@
+---
+name: 📝 Documentation Report
+title: '[Docs] '
+description: Ask us about docs
+labels:
+- documentation
+- Needs Triage
+
+body:
+- type: markdown
+ attributes:
+ value: >
+ **Thank you for wanting to report a problem with setuptools
+ documentation!**
+
+
+ Please fill out your suggestions below. If the problem seems
+ straightforward, feel free to go ahead and
+ submit a pull request instead!
+
+
+ ⚠
+ Verify first that your issue is not [already reported on
+ GitHub][issue search].
+
+
+ If you are seeking community support, please consider
+ [starting a discussion][Discussions].
+
+
+ Thank you for your collaboration!
+
+
+ [issue search]: https://github.com/pypa/setuptools/search?q=is%3Aissue&type=issues
+
+ [Discussions]: https://github.com/pypa/setuptools/discussions
+
+- type: textarea
+ attributes:
+ label: Summary
+ description: >
+ Explain the problem briefly below, add suggestions to wording
+ or structure.
+
+
+ **HINT:** Did you know the documentation has a `View on GitHub`
+ link on every page? Feel free to use it to start a pull request
+ right from the GitHub UI!
+ placeholder: >-
+ I was reading the setuptools documentation of version X and I'm
+ having problems understanding Y. It would be very helpful if that
+ got rephrased as Z.
+ validations:
+ required: true
+
+- type: textarea
+ attributes:
+ label: OS / Environment
+ description: >-
+ Provide all relevant information below, e.g. OS version,
+ browser, etc.
+ placeholder: Fedora 33, Firefox etc.
+
+
+- type: textarea
+ attributes:
+ label: Additional Information
+ description: >
+ Describe how this improves the documentation, e.g. before/after
+ situation or screenshots.
+
+
+ **HINT:** You can paste https://gist.github.com links for larger files.
+ placeholder: >-
+ When the improvement is applied, it makes it more straightforward
+ to understand X.
+ validations:
+ required: true
+
+
+- type: checkboxes
+ attributes:
+ label: Code of Conduct
+ description: |
+ Read the [PSF Code of Conduct][CoC] first.
+
+ [CoC]: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
+ options:
+ - label: I agree to follow the PSF Code of Conduct
+ required: true
+...
diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml
new file mode 100644
index 00000000..88ae6741
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature-request.yml
@@ -0,0 +1,104 @@
+---
+name: ✨ Feature request
+description: Suggest an idea for setuptools
+title: '[FR] '
+labels:
+- enhancement
+- Needs Triage
+
+body:
+- type: markdown
+ attributes:
+ value: >
+ **Thank you for wanting to suggest a feature for setuptools!**
+
+
+ 💡
+ Before you go ahead with your request, please first consider if it
+ would be useful for majority of the setuptools users. As a general
+ rule of thumb, any feature that is only of interest to a small sub
+ group should be implemented in a third-party plugin or maybe even
+ just your project alone. Be mindful of the fact that the core
+ setuptools features have a broad impact.
+
+
+ <details>
+ <summary>
+ ❗ Every change breaks someone's workflow.
+ </summary>
+
+
+ [![❗ Every change breaks someone's workflow.](https://imgs.xkcd.com/comics/workflow.png)
+ ](https://xkcd.com/1172/)
+ </details>
+
+
+ ⚠
+ Verify first that your idea is not [already requested on GitHub][issue search].
+
+
+
+ [issue search]: https://github.com/pypa/setuptools/search?q=is%3Aissue&type=issues
+
+- type: textarea
+ attributes:
+ label: What's the problem this feature will solve?
+ description: >-
+ What are you trying to do, that you are unable to achieve
+ with setuptools as it currently stands?
+ placeholder: >-
+ I'm trying to do X and I'm missing feature Y for this to be
+ easily achievable.
+ validations:
+ required: true
+
+- type: textarea
+ attributes:
+ label: Describe the solution you'd like
+ description: >
+ Clear and concise description of what you want to happen.
+
+
+ Provide examples of real world use cases that this would enable
+ and how it solves the problem described above.
+ placeholder: >-
+ When I do X, I want to achieve Y in a situation when Z.
+ validations:
+ required: true
+
+- type: textarea
+ attributes:
+ label: Alternative Solutions
+ description: >-
+ Have you tried to workaround the problem using other tools? Or a
+ different approach to solving this issue? Please elaborate here.
+ placeholder: >-
+ I tried doing X, Y and Z. But they are subobpimal because of P.
+
+- type: textarea
+ attributes:
+ label: Additional context
+ description: >
+ Add any other context, links, etc. about the feature here.
+ Describe how the feature would be used, why it is needed and what
+ it would solve.
+
+
+ **HINT:** You can paste https://gist.github.com links for
+ larger files.
+ placeholder: >-
+ I asked on https://stackoverflow.com/.... and the community
+ advised me to do X, Y and Z.
+
+
+- type: checkboxes
+ attributes:
+ label: Code of Conduct
+ description: |
+ Read the [PSF Code of Conduct][CoC] first.
+
+ [CoC]: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
+ options:
+ - label: I agree to follow the PSF Code of Conduct
+ required: true
+...
diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml
new file mode 100644
index 00000000..4f70acfb
--- /dev/null
+++ b/.github/workflows/automerge.yml
@@ -0,0 +1,27 @@
+name: automerge
+on:
+ pull_request:
+ types:
+ - labeled
+ - unlabeled
+ - synchronize
+ - opened
+ - edited
+ - ready_for_review
+ - reopened
+ - unlocked
+ pull_request_review:
+ types:
+ - submitted
+ check_suite:
+ types:
+ - completed
+ status: {}
+jobs:
+ automerge:
+ runs-on: ubuntu-latest
+ steps:
+ - name: automerge
+ uses: "pascalgn/automerge-action@v0.12.0"
+ env:
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 00000000..37d65f33
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,42 @@
+name: tests
+
+on: [push, pull_request]
+
+jobs:
+ test:
+ strategy:
+ matrix:
+ python: [3.6, 3.8, 3.9, pypy3]
+ platform: [ubuntu-latest, macos-latest, windows-latest]
+ runs-on: ${{ matrix.platform }}
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup Python
+ uses: actions/setup-python@v2
+ with:
+ python-version: ${{ matrix.python }}
+ - name: Install tox
+ run: |
+ python -m pip install tox
+ - name: Run tests
+ run: tox
+
+ release:
+ needs: test
+ if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup Python
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.9
+ - name: Install tox
+ run: |
+ python -m pip install tox
+ - name: Release
+ run: tox -e release
+ env:
+ TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml
deleted file mode 100644
index 2ee7c0fb..00000000
--- a/.github/workflows/python-tests.yml
+++ /dev/null
@@ -1,130 +0,0 @@
-name: >-
- 👷
- Test suite
-
-on:
- push:
- pull_request:
- schedule:
- - cron: 1 0 * * * # Run daily at 0:01 UTC
-
-jobs:
- tests:
- name: >-
- ${{ matrix.python-version }}
- /
- ${{ matrix.os }}
- runs-on: ${{ matrix.os }}
- strategy:
- # max-parallel: 5
- matrix:
- python-version:
- - 3.9
- - 3.8
- - pypy3
- - 3.7
- - 3.6
- - 3.5
- os:
- - ubuntu-18.04
- - ubuntu-16.04
- - macOS-latest
- # - windows-2019
- # - windows-2016
- include:
- # Dev versions (deadsnakes)
- - os: ubuntu-20.04
- python-version: 3.9-dev
- - os: ubuntu-20.04
- python-version: 3.8-dev
-
- env:
- NETWORK_REQUIRED: 1
- PYTHON_VERSION: ${{ matrix.python-version }}
- TOX_PARALLEL_NO_SPINNER: 1
- TOXENV: python
- USE_DEADSNAKES: false
-
- steps:
- - uses: actions/checkout@master
- - name: Set flag to use deadsnakes
- if: >-
- endsWith(env.PYTHON_VERSION, '-beta') ||
- endsWith(env.PYTHON_VERSION, '-dev')
- run: |
- from __future__ import print_function
- python_version = '${{ env.PYTHON_VERSION }}'.replace('-beta', '')
- print('::set-env name=PYTHON_VERSION::{ver}'.format(ver=python_version))
- print('::set-env name=USE_DEADSNAKES::true')
- shell: python
- - name: Set up Python ${{ env.PYTHON_VERSION }} (deadsnakes)
- uses: deadsnakes/action@v1.0.0
- if: fromJSON(env.USE_DEADSNAKES) && true || false
- with:
- python-version: ${{ env.PYTHON_VERSION }}
- - name: Set up Python ${{ env.PYTHON_VERSION }}
- uses: actions/setup-python@v2.1.1
- if: >-
- !fromJSON(env.USE_DEADSNAKES) && true || false
- with:
- python-version: ${{ env.PYTHON_VERSION }}
- - name: Log Python version
- run: >-
- python --version
- - name: Log Python location
- run: >-
- which python
- - name: Log Python env
- run: >-
- python -m sysconfig
- - name: Pip cache
- uses: actions/cache@v1
- with:
- path: ~/.cache/pip
- key: ${{ runner.os }}-pip-${{ hashFiles('setup.cfg') }}
- restore-keys: |
- ${{ runner.os }}-pip-
- ${{ runner.os }}-
- - name: Upgrade pip/setuptools/wheel
- run: >-
- python
- -m pip install
- --disable-pip-version-check
- --upgrade
- pip setuptools wheel
- - name: Install tox
- run: >-
- python -m pip install --upgrade tox tox-venv
- - name: Log installed dists
- run: >-
- python -m pip freeze --all
- - name: Adjust TOXENV for PyPy
- if: startsWith(env.PYTHON_VERSION, 'pypy')
- run: >-
- echo "::set-env name=TOXENV::${{ env.PYTHON_VERSION }}"
- - name: Log env vars
- run: >-
- env
-
- - name: Verify that there's no cached Python modules in sources
- if: >-
- ! startsWith(matrix.os, 'windows-')
- run: >-
- ! grep pyc setuptools.egg-info/SOURCES.txt
-
- - name: 'Initialize tox envs: ${{ matrix.env.TOXENV }}'
- run: >-
- python -m
- tox
- --parallel auto
- --parallel-live
- --notest
- --skip-missing-interpreters false
- - name: Test with tox
- run: >-
- python -m
- tox
- --parallel auto
- --parallel-live
- --
- -vvvvv