I know below isn’t best practice, but we work with a vendor product with over 200 people committing changes every 6 months. We can’t go to prod for every push to master, because it takes 20 minutes to start the application and we need very high availability.
Our branching strategy to go to prod is trunk based (as detailed here https://trunkbaseddevelopment.com/branch-for-release/).
At a set time weekly, we delete our release branch, and recreate it from master. We then have a release pipeline that does quality checks, builds the war file, and deploys it to each environment until prod. Before we go to prod, we often find that something bad was committed in the code. Because of this, we have to cherry pick changes into the code before our deployment date.
My question is around generating release notes for this repo. I want to have a list of merge requests that went in for the release. I’ve tried using git log between the tags we create for production, but those seem to only return the cherry pick commits. I’m guessing this is because we have completely deleted release and recreated it from master. I'm looking for a solution that allows me to automate getting all the merge requests in a given release and creating a small report without having to manually enter the dates for the merge request.