activity-browser icon indicating copy to clipboard operation
activity-browser copied to clipboard

Automated release with changelog for the stable version

Open haasad opened this issue 3 years ago • 10 comments

This PR reduces the effort required to add a new release of the stable version to a single action by the maintainer: Pushing a new tag on the master branch. Everything else is automated, including a changelog in the release notes.

Up until now, a maintainer had to manually create a release on github in order to upload a new stable version to conda. Also the manual changelog has not been updated in over a year.

With this PR the release process is now as follows:

  • A maintainer pushes a new tag, e.g.:
git tag -a 2.6.8
git push origin 2.6.8
  • github actions creates a changelog based on all merged and labeled PRs since the last release
  • github actions creates a release on github which includes the changelog from the previous step in the release notes
    • this looks something like this: https://github.com/haasad/activity-browser/releases/tag/0.3.9
    • or this: https://github.com/haasad/EcoInventDownLoader/releases/tag/1.4.1
  • the conda package is built and uploaded to the bsteubing channels as before

This only works well under the following conditions:

  • PR titles show up in the changelog, so they should summarize the change well
  • PRs need to be labeled, otherwise they're not included in the changelog
  • The PRs show up in changelog category according to the label(s), I defined some categories in ci/changelog-configuration.json, but they can always be adapted
  • Changes directly commited to master won't be included in the changelog (but could be manually edited in afterwards)

I added a pull request template with a check-list to ensure that setting a good title and labeling is not forgotten. It's mainly a responsibility for the maintainers to ensure that this is done.

Of course this still works when labels etc are forgotten, it will just reduce the quality of the changelog.

haasad avatar Feb 20 '22 13:02 haasad

@bsteubing I think this is a big quality-of-life improvement for the maintenance of the AB, but it's a "big" change, so please let me know if anything is unclear.

haasad avatar Feb 20 '22 13:02 haasad

Coverage Status

Coverage decreased (-0.09%) to 53.873% when pulling fb5bf20fbd5956c7cdfd520c06454f0b801a1f5f on haasad:automate-release into 0784abe22f3f9b735d9c61fdc6e2634a3663ace7 on LCA-ActivityBrowser:master.

coveralls avatar Feb 20 '22 13:02 coveralls

@haasad: @bsteubing and I discussed the PR and think it's a good idea to include this. Could you still have a look at the comments I left previously, and then feel free to merge this!

marc-vdm avatar Apr 12 '22 11:04 marc-vdm

@marc-vdm Sorry for the long time it took me to reply, I've added some comments now. And thanks a lot for the detailed review :handshake:

haasad avatar Apr 23 '22 07:04 haasad

@haasad No worries, we're all busy sometimes. Just merge when you're ready to go 👍

marc-vdm avatar Apr 24 '22 07:04 marc-vdm

@marc-vdm we discussed this PR before and decided to merge it, I just see it now... is there still something preventing us from merging it?

bsteubing avatar May 31 '22 15:05 bsteubing

@bsteubing I think there were still a few very minor things for @haasad to solve, though we're not specifically in a hurry, as long as this is merged before the next stable release everything should work.

marc-vdm avatar May 31 '22 17:05 marc-vdm

I'll take a look this week and will merge it when ready

haasad avatar May 31 '22 18:05 haasad

@haasad May i ping you on this again?

marc-vdm avatar Sep 08 '22 09:09 marc-vdm

This PR is not forgotten, I think we should accept it, but I will let @Zoophobus do that as soon as he understands / agrees with this approach.

bsteubing avatar Sep 08 '22 14:09 bsteubing