Auto-generate release on PR merge

My repository has a branch setup, where I have 3 separate branches at all time

  • master for releases
  • development for current commits for next release
  • gh-pages for current docs of the project

I would now like to streamline the process of creating a new release since right now I have to merge the PR from development to master to publish a new build using a CI server and then have to create a release to update any documentation.

Unfortunately, do I have no real knowledge about what actions I could use to automate the process of creating a new release whenever I merge/commit to the master branch.

The release itself should preferably have the following features:

  • tag should be the current version of the project.
  • Release title should be the title of the PR, if available, or first 50 characters of the commit message
  • Release body should have PR body/comment and all commits merged from it, if available, or have the remaining text from the commit message, if it is larger than 50 characters.

My project is a Java project and I use gradle as build tool. The version is defined in the build.gradle file.

Again do I have no idea how I could automate all this and if what I had in mind is even doable with GitHub Actions. If it is would I really appreciate any helping hand on this matter.

The project in question is found here: GitHub - botblock/JavaBotBlockAPI: Java Wrapper for the BotBlock API [Java - maintained by @Andre601]
It currently has two actions. One for auto-commenting on labeled issues/PRs and one to update documentation, create files and upload those to the release when one is published by me.