On Wednesday, November 13, 2024 at 4:39:43 AM UTC+9 sohamr...@gmail.com wrote:
We can write a script using the GitHub API to automate changelog creation in the same format as the ones at https://www.sagemath.org/changelogs . The idea is to first retrieve the IDs of all merged PRs from GitHub releases (such as https://github.com/sagemath/sage/releases/tag/10.0), then use the API again to get detailed information about each PR. *Fetching Reviewer Info*: We could use "list reviews for a pull request" endpoint of the api ( https://docs.github.com/en/rest/pulls/reviews?apiVersion=2022-11-28#list-reviews-for-a-pull-request ). *Identifying Multiple Authors*: In case a PR has multiple authors, we can extract all the commits from the PR and identify the authors for each commit using the "list commits on a pull request" endpoint ( https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#list-commits-on-a-pull-request ). Once the changelogs are generated in old formats, they will automatically update the contributor messages (like "Contributions to Sage 5.x, 6.x, 7.x") on the development map. For contributors who don’t have location info in the contributors.xml, we can retrieve it from their public GitHub profiles (if available). Let me know if this approach works or if adjustments are needed. Sounds reasonable. I think your script should be a github workflow that runs for each stable release, collects information from all prereleases (betas and rcs), and create changelogs, and pushes the changelogs file to our sagemath/website repo: https://github.com/sagemath/website/tree/master/src/changelogs The last step would need certain write permission (via PAT, Personal Access Token). When your script is ready, open a PR. I may review then. Kwankyu -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/sage-devel/691a3fe9-67ff-4c32-bd10-6f9a0cd5ce9an%40googlegroups.com.