sympy-bot icon indicating copy to clipboard operation
sympy-bot copied to clipboard

Update the Authors section automatically

Open asmeurer opened this issue 6 years ago • 2 comments

We should take the code from the SymPy release code that gets the list of authors for the release notes, and make it run on the bot. The code is here: https://github.com/sympy/sympy/blob/9d53296873723e7a3a287b7508669f830c300400/release/rever.xsh#L381

That way, the list of authors will always be up to date after each pull request merge. Note that it will need to completely clear and re-update the authors list each time in case there is a .mailmap update.

One minor issue with this is that any updates to .mailmap will need to be done as pull requests at release time, so that they bot updates the notes properly.

This would also require the bot to clone the main sympy repo. Hopefully that doesn't take too long. I wonder if we can cache it on Heroku somehow, so that we only need to do a pull each time.

asmeurer avatar Jan 15 '19 19:01 asmeurer

Hmm, thinking more about this, this would have to be enforced somehow to make sure it is updated properly at the final release (if we have to do a manual update a release time, then it defeats the whole purpose). But there's no way to guarantee there won't be .mailmap/AUTHORS changes in the release branch itself.

The only solution is to somehow have the bot also update the authors list when the release branch itself is merged. But is there a generic way to detect this? So far the release branches have all been branches on the main repo, named the release number (like 1.4), but this isn't enforced. Maybe we could also detect if the release numbers have changed.

asmeurer avatar Jan 15 '19 20:01 asmeurer

I don't think we can cache the git clone, at least not without paying for some Heroku service. But I don't think it is a big deal. On my computer with my internet it takes 16 seconds to clone the whole sympy repo, and I'd imagine it would be even faster on the cloud. Plus we only need to run this for merge builds, which are relatively rare.

asmeurer avatar Jan 21 '19 22:01 asmeurer