-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
PEP 581: (First draft) Using GitHub Issues #681
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First review :-)
pep-0581.rst
Outdated
allows you to systematically filter emails. | ||
|
||
- Email address can remain hidden by choice. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few more advantages:
- Single namespace for issue numbers and pull request numbers:
#xxx
(instead ofbpo-xxx
vsGH-xxx
). Many people omitsbpo-
orGH-
prefix :-( - Ability to "quote" code using a permalink to lines of code in the Git repository. Example:
https://github.com/python/cpython/blob/bcd3a1a18d841338f57c39f6a7de8cf14d0c3e03/Lib/asyncio/base_events.py#L375-L377
creates:
http://haypo.alwaysdata.net/tmp/quote.png
(The URL to the picture is a temporary link, please copy the picture somewhere!)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(the image linked to by @vstinner; attached via drag-drop on GitHub's web UI)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This image is a png image, not a permalink to the code itself. Clicking on the image gets you to the image on a screen by itself, not to the code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was just an example from elsewhere, here's one from this repo:
Lines 14 to 19 in 8ace3c5
class PEPError(Exception): | |
def __init__(self, error, pep_file, pep_number=None): | |
super(PEPError, self).__init__(error) | |
self.filename = pep_file | |
self.number = pep_number |
(Markdown: https://github.com/python/peps/blob/8ace3c5e1fa67967824fcf2bcf24435ad3cfef2f/pep0/pep.py#L14-L19
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@terryjreedy The image is a representation of what you get from dropping a link like https://github.com/python/peps/blob/8ace3c5e1fa67967824fcf2bcf24435ad3cfef2f/genpepindex.py#L17-L27
in a message:
Lines 17 to 27 in 8ace3c5
from __future__ import absolute_import, with_statement | |
from __future__ import print_function | |
import sys | |
import os | |
import codecs | |
from operator import attrgetter | |
from pep0.output import write_pep0 | |
from pep0.pep import PEP, PEPError |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On bpo, I copy-paste the link and then the quote, between "".
https://github.com/python/peps/blob/8ace3c5e1fa67967824fcf2bcf24435ad3cfef2f/genpepindex.py#L4-L5
"Generating the PEP index is a multi-step process. To begin, you must first
parse the PEP files themselves, which in and of itself takes a couple of steps:
"
Given that one wants the complete lines, it is definitely easier to only copy-paste the link to get the same effect.
Lines 4 to 5 in 8ace3c5
Generating the PEP index is a multi-step process. To begin, you must first | |
parse the PEP files themselves, which in and of itself takes a couple of steps: |
pep-0581.rst
Outdated
|
||
- APIs we can use to build integrations and automations. | ||
|
||
- Ability to attach screenshots and files in pull requests and issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hum, that's a basic feature of Roundup, whereas GitHub only accepts a small set of file formats, no? Last time I tried to attach a file, I got an error because the file format was denied.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm perhaps I should say "embed" screenshots, that I can see images directly in the issue, instead of having to click and open a new tab for the image.
pep-0581.rst
Outdated
|
||
- Ability to attach screenshots and files in pull requests and issues. | ||
|
||
- Administrators and core developers can edit issues comments and pull requests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure that it's a big difference with bugs.python.org. The difference here is that the GitHub administrators can more easily give bug triage permission: single platform (GitHub) instead of two (GitHub + bugs.python.org). Single user directory.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I cannot edit or delete a message in bpo.
If I made a mistake in my message, I had to post a new message to explain my previous mistake.
In GitHub I can edit my own messages, and core devs can edit everyone's messages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Github's all or nothing permission model is kind of a hindrance in this case. Right now there are triagers on bpo who aren't core devs, but can help categorize and resolve issues on bpo. Moving to Github means it would be harder to give them access.
pep-0581.rst
Outdated
- Core developers don't have to maintain it, giving us more time to focus on | ||
the development of Python. | ||
|
||
- We can automatically close issues when a PR has been merged [#close-github-issue]_. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We had that previously with Subversion, maybe also with Mercurial. It seems like we lost the feature when we migrated to Git and GitHub, likely because nobody "ported" the feature to Git.
pep-0581.rst
Outdated
|
||
It has a lot of nice features readily available out of the box, that are not | ||
currently available in Roundup / bpo. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would start by saying that the form is much simpler, so it's easier to report a bug, no?
|
||
This should be the final step. Once we start using GitHub issues, make bpo | ||
readonly, not shut it down. | ||
Do not accept new registrations. Do not allow comments or issues to be created. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An alternative is to keep bpo: have bpo and GH.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No. Because then we need to support two different workflows and further complicate our life.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To minimize the burden of maintaining two issue reporting/commenting workflows, one for GitHub and one for bpo, the following constraints will be made to bpo when GitHub is used for issues:
- Disable new user registration to bpo.
- Disable new issue creation on bpo.
- Lock comments on existing bpo issues. Additional comments would be done on GitHub with a link to the archival bpo issue.
In bpo, we currently have the following fields for each issues: | ||
|
||
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. | ||
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO components will be useful on pull requests are well. We already have "type-doc" label for example. It helps when someone wants to review all documentation PRs for example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But the opportunity can potentially be taken to trim the component list
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm for trimming it :) but perhaps we'll need more discussions with other core devs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another thread for committers list. I want to keep Idle, Tkinter, Windows, MacOS. We can ask whether anyone still want 2to3, Argument clinis, asyncio, ctypes, and some others.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By using custom labels on GitHub, priority, components, and other bpo fields can be set on issue creation/updating (i.e priority: high
, components: asyncio
, components: ctypes
). For example, adopting a naming convention for labels is a common practice in other open source projects hosted on GitHub.
|
||
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. | ||
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... | ||
Priority: release blocker, deferred blocker, critical, high, normal, low |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto: when a PR has no associated bug, priority might be useful on PRs as well. But when a PR has an associated bug, the priority would be redundant and may become inconsistent if only updated on one side :-/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly, I think "release blocker" and "deferred blocker" are the only actually useful priority levels we currently have, and those will always be associated with issues rather than PRs.
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. | ||
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... | ||
Priority: release blocker, deferred blocker, critical, high, normal, low | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need a field to specify the Python version that should be fixed, like the Python Versions field on bpo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can use the existing backport labels for that - just set them on the issue to indicate which labels the PR should get.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I plan to use the existing "needs backport to:" labels. These can be attached to the issue, and later automatically applied to the PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those could be shorted to 'Backport to: x.y'
|
||
priority-release blocker, priority-deferred blocker, priority-critical, ... | ||
|
||
In addition, we'll create ``needs triage`` label. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please elaborate. How do you qualify that a bug is triagged or not?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See "create issue template" below.
If the issue does not have at least one of type-
, component
, priority-
, needs backport to-
labels, then bot will apply needs triage
label.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there is an other issue, currently, there are 2 lists, the contributors and the members. do you think you will add a new list for the 'triage' ? on bpo, my bpo account can change the associated component of an issue, could I do the same here?
Why not other issue tracker | ||
--------------------------- | ||
|
||
Using another issue tracker will require yet another learning curve, of having |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using Github to track issues has its own learning curve, do you mean its less steep than other bug trackers?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant that since we (existing Python core devs, The PSF, and contributors to Python) have been using GitHub for everything else, there is less learning to do, than if we're to use a different issue tracker.
build out additional integrations and update our bots, but this is something | ||
we already know how to do. | ||
|
||
In order to really improve Roundup / bpo, it needs to first migrate to GitHub, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is really only a concern with the roundup fork, which might not even be necessary anymore. The python-dev
repo which hosts our custom plugins for roundup should be able to migrate to git without issue.
account. A bpo account should not be required for those projects. | ||
|
||
Currently the CLA process involves real human to manually check the records. | ||
Question: Will it be possible to completely automate the CLA process, so |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would be a great time to start a thread with PSF legal on this. On the technical side, there are already great projects to handle this like http://clabot.github.io/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking that this itself might require a separate PEP 😅
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... | ||
Priority: release blocker, deferred blocker, critical, high, normal, low | ||
|
||
We will create the corresponding labels:: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, this is a lot of labels. Have you given thought or experimented to see how well the Github interface handles this many labels?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aah perfect, you already have a project that has a lot of labels 👍
As far as downsides of Github, I think one thing to note is that its pretty much impossible to get them to do anything. This should be a major indicator of that: https://github.com/dear-github/dear-github This means that we shouldn't really expect anything beyond the current feature set they provide. |
pep-0581.rst
Outdated
|
||
- We can automatically close issues when a PR has been merged [#close-github-issue]_. | ||
|
||
- With more than 28 million users, an open source contributor is more likely |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great point and worth highlighting, bpo right now is quite intimidating to people trying to report issues. Unless you've used it for a while the interface is really prehistoric and un-intuitive.
ae39902
to
078c647
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really solid proposal that does an excellent job of evaluating the available alternatives (and yeah, there really is an intimidating amount of work involved in getting Roundup up to speed with a modern web experience)
In bpo, we currently have the following fields for each issues: | ||
|
||
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. | ||
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But the opportunity can potentially be taken to trim the component list
|
||
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. | ||
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... | ||
Priority: release blocker, deferred blocker, critical, high, normal, low |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly, I think "release blocker" and "deferred blocker" are the only actually useful priority levels we currently have, and those will always be associated with issues rather than PRs.
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. | ||
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... | ||
Priority: release blocker, deferred blocker, critical, high, normal, low | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can use the existing backport labels for that - just set them on the issue to indicate which labels the PR should get.
- Add acknowledgement section - Add TBD and additional concerns
- Fix wrong link
Thanks for all the reviews!
I'm not too concerned. I believe we can work with GitHub as is. This PEP did not mention anything about needing GitHub to provide us additional features. |
2b13611
to
4e29974
Compare
Right, I just mean it might be a problem in the future if a new feature is required. Though with how hard it is to build new features into bpo it might be a moot point. |
|
||
priority-release blocker, priority-deferred blocker, priority-critical, ... | ||
|
||
In addition, we'll create ``needs triage`` label. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it could be helpful to utilize GitHub's multiple issue templates (more info here). I found this to be really helpful on other OSS projects to keep general usage bugs out of the issue tracker by redirecting them elsewhere.
IMO, Babel does this really well (and has great emoji usage too).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix claims about bpo and remove independent issues.
pep-0581.rst
Outdated
integrations and applications available from GitHub Marketplace to help with | ||
our workflow. New applications are easily installed and enabled. | ||
|
||
- Ability to embed screenshots and files in pull requests and issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is misleading at best. Attaching files to bpo issues is a core function, not absent. Listing them together at the top is a major advantage in favor of bpo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was discussed above: #681 (comment)
While bpo might support uploading images, you have to click away to view them as opposed to allowing them to be embedded in the issue page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Images are rare, and at least some I have seen are well or better viewed on a separate tab. And I still prefer them listed with other files. Multi-screen text is definitely better on a new tab.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can still click them to open them in a new tab on Github, there's not really a concept of a list of attached files to an issue on here though. That goes for images, test scripts etc. You'll have to find the particular comment where it was attached to download it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may be better phrased as the ability to drag and drop screenshots and debug log files into GitHub issues and pull requests.
pep-0581.rst
Outdated
|
||
- Administrators and core developers can edit issues comments and pull requests. | ||
|
||
- Ability to reply to issues and pull request conversations via email. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
People can and do reply to bpo messages by email. The main problem is that they often forget to delete the quoted email they are replying to.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is often caused by not realizing it was an email from a tracker (at least in my case). Having whatever tracker we use make it visually clear that it's an automated tracker notification usually gets me to click through, and not trust the email return path.
pep-0581.rst
Outdated
|
||
- Ability to embed screenshots and files in pull requests and issues. | ||
|
||
- Administrators and core developers can edit issues comments and pull requests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A plus for gh issues. I often want to correct mistakes or delete email quotations (see next).
- It supports voting (reactions). | ||
|
||
- It supports permalink [2]_, allowing us to quote and copy paste | ||
source code easily. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One can embed links in bpo messages, and they are clickable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The specific type of quoting being talked about here is this one #681 (comment) which bpo does not support. Again, you have to click away to get to the code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After seeing yours and Zach's proper examples, and trying it for myself, I agree that link + quote of complete lines (typical for code) is easier. But it is pretty easy on bpo. So I would agree with "copy paste source code lines more easily."
Copying partial or complete sentences from docs, with extraneous material before and after the desired quote removed, as it typical for doc issues, requires a separate copy paste on either tracker.
pep-0581.rst
Outdated
- Email address can remain hidden by choice. | ||
|
||
|
||
Issues with bpo / Roundup |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You gave supposed ghi pluses and bpo minuses. For a fair evaluation, we need the opposite.
-
bpo has a header form with multiple fields, and options for each field listed with the field. This UI design is FAR, FAR superior to the anti-design of just jumbling all options together under Labels.
-
bpo has a search form, with search fields corresponding to issue header fields. Filling this out is easier than constructing a search command. The results are presented compactly, by default with one line per hit.
-
bpo log messages are listed separately from user messages so they can easily be reviewed. They are listed compactly, usually just one line per log item.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This UI design is FAR, FAR superior to the anti-design of just jumbling all options together under Labels.
I would agree with this, putting the dropdowns etc in the issue text and having a bot pick them is a little bit lackluster compared to a purpose built form. (There's been an open issue about this as far back as 2014 isaacs/github#148)
|
||
In bpo, we currently have the following fields for each issues: | ||
|
||
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This list was once much smaller. We could discuss on committers list whether the added options are really useful.
In bpo, we currently have the following fields for each issues: | ||
|
||
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. | ||
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another thread for committers list. I want to keep Idle, Tkinter, Windows, MacOS. We can ask whether anyone still want 2to3, Argument clinis, asyncio, ctypes, and some others.
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. | ||
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... | ||
Priority: release blocker, deferred blocker, critical, high, normal, low | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those could be shorted to 'Backport to: x.y'
|
||
We should not be moving all open issues to GitHub. Issues with little or no | ||
activity should just be closed. Issues with no decision made for years should | ||
just be closed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, No, No.
Closing bpo issues is a separate topic from and irrelevant to creating a usable GH cpython issue tracker. It can and has been done without this PEP. More could be done, but not so blindly as you propose. Doing so is a separate discussion, which I won't continue here.
Implementing this PEP is unaffected by bpo issue closures. The main affect of closure is limiting bpo search results. Bpo issue closures do not belong on this PEP and should be removed. Please don't repeat Chris Angelico's mistake of piggybacking a separate proposal onto his main proposal of assignment expressions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm assuming your good intention, but I think your last sentence is unnecessary.
----------------- | ||
|
||
This should be the final step. Once we start using GitHub issues, make bpo | ||
readonly, not shut it down. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was not practical to use hg and git simultaneously. In my view, and some others, apparently, github was not fully ready to use when the switch was made. I would say not until Miss Islington started doing backports. (They still take more time than on hg, but the difference is tolerable.) The result was that many people stopped patching python for various periods.
It would be practical to have both issue trackers in use for a short time. So I think disabling bpo should wait until the new system has been used and approved by people other than the creators. Unlike with the repository, testing can be done with real issues for cpython PRs.
So I think approval of this PEP should be provisional, subject to final acceptance review, which would then signal 'stop using bpo'. At that point, shut off new registrations and issues, (which could be discourage earlier), and new comments. 'Readonly' should mean that search still works, and that issues can still be closed instead of transferred.
is much less than a complete overhaul. | ||
|
||
We will create a button in bpo, that will copy over the issue description | ||
and associated comments into a GitHub issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about the existing files, which are typically patch files? Create a comment to embed them in? Or put a link to the original in?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Mariatta. You've done a great job of capturing the issues, benefits, and open items in this PEP. I've made some suggestions that may be helpful for the next draft.
GitHub has a lot of nice features readily available out of the box, that are not | ||
currently available in Roundup / bpo. | ||
|
||
- APIs we can use to build integrations and automations. There are various existing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps add something more specific about creating and deploying bots similar to miss-islington that can provide automation related to CPython-specific workflow.
pep-0581.rst
Outdated
integrations and applications available from GitHub Marketplace to help with | ||
our workflow. New applications are easily installed and enabled. | ||
|
||
- Ability to embed screenshots and files in pull requests and issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may be better phrased as the ability to drag and drop screenshots and debug log files into GitHub issues and pull requests.
pep-0581.rst
Outdated
|
||
- It supports two factor authentication. | ||
|
||
- It supports markdown and emoji. It has a preview tab, so we can see how our |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps split this into 2 bullets. 1) markdown and emoji and 2) preview before posting
pep-0581.rst
Outdated
- It supports permalink [2]_, allowing us to quote and copy paste | ||
source code easily. | ||
|
||
- Core developers don't have to maintain it, giving us more time to focus on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it -> the issue infrastructure/site
pep-0581.rst
Outdated
|
||
- We can automatically close issues when a PR has been merged [3]_. | ||
|
||
- With more than 28 million users, an open source contributor is more likely |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lowers the barriers to contribution. With more than ...
pep-0581.rst
Outdated
|
||
In order to really improve Roundup / bpo, it needs to first migrate to GitHub, | ||
add CI and bots. As I understand it, there is hesitation because upstream Roundup | ||
is still im Mercurial. Someone more familiar with Roundup / bpo needs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
im / in
to download GitHub data for CPython on daily basis. The archives will be | ||
dropped in an S3 bucket. | ||
|
||
Thanks to Ernest W. Durbin III for working on this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❤️
In bpo, we currently have the following fields for each issues: | ||
|
||
Type: behavior, crash, compile error, resource usage, security, performance, enhancement. | ||
Components: 2to3, Argument Clinic, asyncio, Build, Cross-build, ctypes, ... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By using custom labels on GitHub, priority, components, and other bpo fields can be set on issue creation/updating (i.e priority: high
, components: asyncio
, components: ctypes
). For example, adopting a naming convention for labels is a common practice in other open source projects hosted on GitHub.
If a core developer is still interested in the issue, they can indicate so in | ||
the bpo issue, and later use the button to migrate it over to GitHub. | ||
|
||
Make bpo readonly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move bpo to be an archival, read only project
|
||
This should be the final step. Once we start using GitHub issues, make bpo | ||
readonly, not shut it down. | ||
Do not accept new registrations. Do not allow comments or issues to be created. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To minimize the burden of maintaining two issue reporting/commenting workflows, one for GitHub and one for bpo, the following constraints will be made to bpo when GitHub is used for issues:
- Disable new user registration to bpo.
- Disable new issue creation on bpo.
- Lock comments on existing bpo issues. Additional comments would be done on GitHub with a link to the archival bpo issue.
|
||
priority-release blocker, priority-deferred blocker, priority-critical, ... | ||
|
||
In addition, we'll create ``needs triage`` label. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there is an other issue, currently, there are 2 lists, the contributors and the members. do you think you will add a new list for the 'triage' ? on bpo, my bpo account can change the associated component of an issue, could I do the same here?
|
||
Based on the above headers, bedevere-bot can apply the necessary labels to the | ||
issue. If issue creator did not supply the above headers, the bot will apply | ||
``needs triage`` label. At that point it will require a core developer to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a core developer to properly label the issue, and what happens for the bpo accounts with the 'triage' flag? as mine.
No description provided.