Release Announcement for v8.11

The list of merged PRs along with the contribution frequency would address @joeld’s concern that we currently give “equal weight among people who did much more — for having done little to nothing”.

Just to reiterate, in case it wasn’t clear to anyone, this “concern” was solely about my own inclusion in the list and not anyone else’s. I can see an argument for keeping the list the way it is, I just wanted to float the notion of being able to opt out particular commits from “counting” towards that list. (Maybe sticking a :dotted_line_face: or a :ghost: emoji in the commit message or something idk) I would hope that hours of effort would not be expended on this just because of me, but perhaps if others felt the same way the effort might be justified.

I do like the example release announcement from Lean.

A good heuristic for whether a given Chez scheme contributor might consciously think of their commit as counting towards Racket development would be to see if they’d ever made any contributions to the other Racket repos. So a commit to Chez from Robby does get him a spot on the Racket release contributor list, but a commit to Chez from ESR (probably) does not.

Whether or not this is worth the effort to implement is debatable. I was going to make a PR to this effect, but I decided I’ll never get to it, which says something right there.

FWIW, I think one way to generate those release notes that include PRs and contributors list is through GitHub's interface (https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes), GitHub API (https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28#generate-release-notes-content-for-a-release), or the GitHuB CLI tool (https://github.com/agda/agda/blob/master/.github/workflows/deploy.yml#L216).

However, this works only for one repository. I don't see how to make it work for Racket.

Are all 127 repos under /racket/ tracked?

No, only the ones that go into the release. One way to see this list is to take a look at the release-catalog repo:

... though in fact this is a list of packages, not repos, so there's a lot of overcounting; there are 250+ packages in this directory. So actually you'd probably want to grep for 'source' in the pkgs-all file.

There's probably a nicer way to do this, TBH.

Also worth noting is that some of these repos are not under the github racket account.

Okay, so non-packages like zuo and ChezScheme is not counted then.

It depends what you mean. The full sources for zuo and Chez Scheme appear as part of the racket repository, right?

It depends what you mean. The full sources for zuo and Chez Scheme appear as part of the racket repository, right?

Both racket/zuo and racket/ChezScheme are separate repos.
Oh! - they are also under racket/racket/src and thus part of the racket repo.

I am still confused though. Does racket/racket count as a package wrt. to the package list for the release-repo?

A whole bunch of packages are inside the racket/racket repo. The following use of grep in the pkgs-all file in the release-catalog shows these packages (e.g.: at-exp-lib, base, compiler, compiler-lib, etc.)

Grossvogel:~/release-catalog/release-catalog (git)-[master]- clements> grep racket/racket pkgs-all 
(source . "git://github.com/racket/racket/?path=pkgs/at-exp-lib#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/base#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/compiler#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/compiler-lib#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/compiler-test#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/net#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/net-doc#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/net-lib#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/net-test#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/racket-benchmarks#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/racket-doc#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/racket-index#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/racket-lib#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/racket-test#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/racket-test-core#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/racket-test-extra#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs%2Fsandbox-lib#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs%2Fscheme-doc#v8.11.1")))
(source . "git://github.com/racket/racket/?path=pkgs/zo-lib#v8.11.1"))))

Did I understand your question correctly?

Yes, I think so.

So the script first finds the packages in the release catalog,
then finds the corresponding repos, and finally finds
authors of recents comments?

And unless we have a repo that doesn't result in a package,
everything is accounted for.

right. (Sorry for the slow reply!)

1 Like