Checklist for releasing Slim
Release process for Slim so that I don’t forget any steps; based on a check list created by Asgrim. I should probably automate some of this!
Preparation:
- Ensure all merged PRs have been associated to the tag we’re about to release.
Find them via this search: [is:pr is:closed no:milestone is:merged]. - Close the milestone on GitHub.
- Create a new milestone for the next patch release.
- Ensure that you have the latest master & that your index is clean.
- Find the ID of the current milestone. This is the numeric id found in the URL of the milestone detail page (e.g. 34).
- Generate the changeling using changelog_generator & copy to clipboard:
changelog_generator.php -t {your-github-api-token} -u slimphp -r Slim -m {ID} | pbcopy
Tag and release:
- Edit App.php and update the VERSION constant to the correct version number. Commit the change.
- Tag the commit: git tag -s {x.y.z} & paste the change log generated above into the tag message.
- Update App.php again and set the VERSION constant to {x.y+1.0}-dev & commit.
- Push the commits and the new tag: git push --follow-tags
- Go to the releases page and click “Draft a new release”:
- Enter the tag name and ensure that you see a green tick and “Existing tag” appear.
- Set the release title to the same as the tag name.
- Paste the change log generated above into the release notes box (it is already formatted with Markdown).
- Click “Publish release”.
- Write announcement blog post for website & publish.
I wonder how much Producer would help with the automation?