Skip to content
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

Enhance generate_release_notes.py to also report added/removed/update packages #5004

Closed
fingolfin opened this issue Aug 17, 2022 · 1 comment · Fixed by #5619
Closed

Enhance generate_release_notes.py to also report added/removed/update packages #5004

fingolfin opened this issue Aug 17, 2022 · 1 comment · Fixed by #5619
Labels
kind: enhancement Label for issues suggesting enhancements; and for pull requests implementing enhancements topic: infrastructure
Milestone

Comments

@fingolfin
Copy link
Member

fingolfin commented Aug 17, 2022

This should be possible thanks to the package meta data we now collect as JSON for all release since GAP 4.11.1 and also as part of the new package distribution. So we "just" need to get those two lists and the rest is trivial.

Options to get the list of packages in the previous release:

  1. require the user to provide the filename of a JSON file with those packages
  2. ask the user to specify the previous release in the form of a tag, then download from there, e.g. https://github.com/gap-system/gap/releases/download/v4.11.1/package-infos.json.gz (this could optionally also be cached using the .sha256 file)
  3. "guess" the previous release (e.g. by scanning all v4.* tags and picking that last one, or by querying github or whatever)

Ideally all three would be possible (i.e. guess the previous release by default, but allow the user to override it by specifying a tag or an URL)

Options to get the list of packages in the new release are similar, except that tag will likely not exist... so what could be done is to just download the latest package distro snapshot, under the assumption that this is what will be in the release... In theory this is a source of inconsistencies if the distro gets updated between generation of the release notes, and tagging of the release... but we can simply avoid this by refraining from updating the package distro during this time (at least until we fully automate it, if we ever do that...).

For starters, having a version which takes just two filenames would be a great start.

@fingolfin fingolfin added kind: enhancement Label for issues suggesting enhancements; and for pull requests implementing enhancements topic: infrastructure labels Aug 17, 2022
@fingolfin
Copy link
Member Author

An initial version of such code is now available in form of the script dev/releases/generate_package_release_notes.py as part of PR #5005

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: enhancement Label for issues suggesting enhancements; and for pull requests implementing enhancements topic: infrastructure
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant