mirror of
https://github.com/samsonjs/grape_logging.git
synced 2026-03-25 08:55:47 +00:00
* Add a changelog * Add release and contributor docs based on grape-active_model_serializers (needs more work) * Rename changelog to look like it's the 80s * Tweak releasing doc * Automate and document github releases * RIP hash rocket
111 lines
2.5 KiB
Markdown
111 lines
2.5 KiB
Markdown
# Releasing grape_logging
|
|
|
|
There're no particular rules about when to release grape_logging. Release bug fixes frequently, features not so frequently and breaking API changes rarely.
|
|
|
|
### Pre-flight Checks
|
|
|
|
Run tests, check that all tests succeed locally.
|
|
|
|
```
|
|
bundle install
|
|
rake
|
|
```
|
|
|
|
Check that the last build succeeded in [GitHub Actions](https://github.com/aserafin/grape_logging/actions) for all supported platforms.
|
|
|
|
### Update Changelog
|
|
|
|
Change "Next Release" in [CHANGELOG.md](https://github.com/aserafin/grape_logging/blob/master/CHANGELOG.md) to the new version and date:
|
|
|
|
```
|
|
## [1.8.5] - 2024-06-28
|
|
|
|
### Changed
|
|
- Description of changes
|
|
|
|
### Fixed
|
|
- Description of fixes
|
|
|
|
### Added
|
|
- Description of additions
|
|
|
|
[1.8.5]: https://github.com/aserafin/grape_logging/compare/v1.8.4...v1.8.5
|
|
```
|
|
|
|
Remove the line with "Your contribution here.", since there will be no more contributions to this release.
|
|
|
|
Only include the sections (Changed, Fixed, Added, etc.) that have actual changes.
|
|
|
|
Commit your changes.
|
|
|
|
```shell
|
|
git add CHANGELOG.md lib/grape_logging/version.rb
|
|
git commit -m "Preparing for release, 1.8.5."
|
|
git push github master
|
|
```
|
|
|
|
### Release on RubyGems and GitHub
|
|
|
|
#### Option 1: Automated (Recommended)
|
|
|
|
Use the combined task that releases the gem and creates a GitHub release:
|
|
|
|
```shell
|
|
rake github_release
|
|
```
|
|
|
|
This will:
|
|
1. Build and push the gem to RubyGems
|
|
2. Create and push the git tag
|
|
3. Create a GitHub release with auto-generated changelog
|
|
|
|
#### Option 2: Manual
|
|
|
|
First, release the gem:
|
|
|
|
```shell
|
|
rake release
|
|
```
|
|
|
|
Output will look something like:
|
|
```
|
|
grape_logging 1.8.5 built to pkg/grape_logging-1.8.5.gem.
|
|
Tagged v1.8.5.
|
|
Pushed git commits and tags.
|
|
Pushed grape_logging 1.8.5 to rubygems.org.
|
|
```
|
|
|
|
Then create the GitHub release on the web or using `gh`:
|
|
|
|
```
|
|
gh release create v1.8.5 --generate-notes --verify-tag
|
|
```
|
|
|
|
This uses GitHub's automatic changelog generation feature to create release notes from merged pull requests and commits since the last release.
|
|
|
|
### Prepare for the Next Version
|
|
|
|
Modify `lib/grape_logging/version.rb`, increment the version number (eg. change `1.8.5` to `1.8.6`).
|
|
|
|
```ruby
|
|
module GrapeLogging
|
|
VERSION = '1.8.6'.freeze
|
|
end
|
|
```
|
|
|
|
Add the next release to [CHANGELOG.md](https://github.com/aserafin/grape_logging/blob/master/CHANGELOG.md).
|
|
|
|
```
|
|
## [Next Release]
|
|
|
|
### Changed or Fixed or Added
|
|
* Your contribution here.
|
|
```
|
|
|
|
Commit your changes.
|
|
|
|
```
|
|
git add CHANGELOG.md lib/grape_logging/version.rb
|
|
git commit -m "Bump version to 1.8.6."
|
|
git push github master
|
|
```
|