pypa / pip

The Python package installer
https://pip.pypa.io/
MIT License
9.47k stars 3.01k forks source link

Workflow: Changelog Fragements management proposal #6475

Closed ewdurbin closed 2 years ago

ewdurbin commented 5 years ago

@webknjaz found me at PyCon sprints to discuss deploying https://github.com/sanitizers/chronographer-github-app, I'll wait for them and @pradyunsg to chime in, but if this is a desired improvement for the workflow, the PSF can help get it deployed!

pfmoore commented 5 years ago

I have no idea from what I can see at those links, what chronographer would mean in a practical sense when creating a PR for pip. Hopefully, someone can explain that here before we make a decision :-)

(One constraint I'd like to make is that it should remain possible to create a PR without needing any specific tools installed locally - the linked page talks about "running chronographer locally", but I'm unclear if that's intended as part of the workflow, or just for testing the app itself).

webknjaz commented 5 years ago

@pfmoore hey, I should've probably explained it better.

Basically, it's a rewrite of a part of the https://github.com/pypa/browntruck which does news fragments checks on PRs with GitHub Apps concept that @pradyunsg asked me to explore a while back.

Essentially, it does the same check currently and I plan to make it better configurable because the concept of GitHub Apps implies scalability and reusability. On the Ops side, it looks like a web app and from the UX perspective, it's something that users can install into their orgs/repos with a single Install click without having to care about redeploying stuff or even having a special "bot" user account.

Currently, it's targeting pip repo but it'll be possible to reuse it across the whole org and also extend that for the broader community which would be able to consume it (but this is out of scope of this issue, of course).

What you'd probably care about is that it'll show up in PRs just like this existing check saying news-file/pr — News files updated and/or change is trivial. now. It'll be a bit richer with support of Checks page and more illustrative description of how users should fix the failed check. Also, it's not something you'd run on your local machine.

Here's a few visualizations of this:

P.S. Integrating this doesn't mean enforcing it via branch protection now or instantly disabling the old one. First, users should see how it looks like and maybe change a thing or two based on their experience with it. And only when it's proven to work well, the old check could be sunset.

webknjaz commented 5 years ago

(If somebody has more questions you're welcome to find me at PyCon Sprints and ask anything)

webknjaz commented 5 years ago

Hey @dstufft and @pradyunsg, I think we need your opinion on this topic. Could you please take a look?

pradyunsg commented 2 years ago

Closing this out, since we have a workflow that works for us -- https://github.com/pypa/pip/blob/main/.github/workflows/news-file.yml