Add script to list unlabeled PR's since latest release
This is an automation of step 1 in https://github.com/projectmesa/mesa/pull/1917#issuecomment-1871352058. Step 2-6 shouldn't be automated, because step 5 is manual, and is tied to these steps. In order for step 2-6 to be fully automated, step 7 needs to happen first (which is doable, actually).
@EwoutH given that the file is now CONTRIBUTING.md instead of .rst, you may add the release checklist there.
Performance benchmarks:
| Model | Size | Init time [95% CI] | Run time [95% CI] |
|---|---|---|---|
| Schelling | small | 🔵 -0.3% [-0.6%, +0.0%] | 🔵 -0.1% [-0.2%, +0.1%] |
| Schelling | large | 🔵 +12.4% [-18.7%, +54.5%] | 🟢 -6.9% [-9.3%, -4.5%] |
| WolfSheep | small | 🔵 -3.4% [-3.8%, -2.9%] | 🔵 +0.4% [+0.1%, +0.6%] |
| WolfSheep | large | 🔵 -3.7% [-6.1%, -1.3%] | 🟢 -7.1% [-9.9%, -4.2%] |
| BoidFlockers | small | 🔵 +0.6% [-0.3%, +1.5%] | 🔵 +2.7% [+2.2%, +3.3%] |
| BoidFlockers | large | 🔵 +1.7% [+0.7%, +2.8%] | 🔵 +2.2% [+1.6%, +2.7%] |
See https://github.com/orgs/community/discussions/10038.
Seeing unlabeled merged PRs is as easy as this, right? Anything since december 2023 should be labeled.
That's true. Is there a way to filter to cut off further the earliest date? But if a bulk of the checklist can be automated, it would be easier to read the info from the command line.
Yes, see the docs.
@rht do you mind closing this PR? I think using the GitHub URL is automated enough for now.
As I said on https://github.com/projectmesa/mesa/pull/2047#issuecomment-1968029387, once again, if almost everything in the checklist is automated, it is better off to use the CLI script. This PR is a first step in that direction. I usually don't draft the releases, but if you, @jackiekazil , and @tpike3 find the automation to be not worth it, you may close this PR.
I will do a review ~~before the end of the week~~ early this week (week of March 18). I want to make sure I understand things completely.
I see the vision, and I think I understand the issue. I am going to repeat it back to make sure I am not misunderstanding. @rht - you are moving towards trying to automate the release more @EwoutH - the script that is added seems like a simple thing that can be done in the UI, so why do it through a script?
... @rht -- what are the other components that would be automated? I am looking for the checklist to create a parent ticket to see the whole vision. What I don't want to do is to merge this and then have it randomly hangout if that makes sense.
The steps are:
- (automated) Use the script in this PR to check for unlabeled PRs. Do not allow to proceed until the list is empty.
- (automated) Automatically generate a release note with https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28#generate-release-notes-content-for-a-release, and auto-append this to HISTORY.md.
- (manual) Add highlights to the release
- (can be partly scripted) Open a PR that includes the HISTORY.md change and
__init__.pyversion bump. Wait until it is merged. - (automated) Release using https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28#create-a-release
- (manual) Check on PyPI if the release is there
- (automated) Open a PR to append
-devto the next minor release version.
As you may notice, it is much simpler than https://github.com/projectmesa/mesa/pull/1917#issuecomment-1871352058, because the generate release note step (without drafting a release) already has an API.
Just to re-iterate, In my opinion, this script is unnecessary, since you can just go to https://github.com/projectmesa/mesa/pulls?q=is%3Apr+is%3Amerged+no%3Alabel+merged%3A%3E%3D2023-12-01 and see which PRs need a label yet. I also don't know yet how this helps with automation.
However, if this is useful for others I'm not against merging this.
I am going to merge based on the discuss. If we don't end up using this in the future we can remove it.