-
Notifications
You must be signed in to change notification settings - Fork 536
Add new maintainer and add release instructions #437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
# Maintainers | ||
|
||
When making changes to the system, this file tells you who needs to review your patch - you need at least two maintainers to provide a :+1: on your pull request. | ||
When making changes in this repository, one of the maintainers below must review and approve your pull request. | ||
|
||
### Maintainers | ||
|
||
* [Per Lundberg](https://github.com/perlun) | ||
* [Vern Burton](https://github.com/tarcinil) | ||
* [Vern Burton](https://github.com/tarcinil) | ||
* [James Couball](https://github.com/jcouball) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# How to release a new git.gem | ||
|
||
Releasing a new version of the `git` gem requires these steps: | ||
* [Prepare the release](#prepare-the-release) | ||
* [Create a GitHub release](#create-a-github-release) | ||
* [Build and release the gem](#build-and-release-the-gem) | ||
|
||
These instructions use an example where the current release version is `1.5.0` | ||
and the new release version to be created is `1.6.0.pre1`. | ||
|
||
## Prepare the release | ||
|
||
From a fork of ruby-git, create a PR containing changes to (1) bump the | ||
version number, (2) update the CHANGELOG.md, and (3) tag the release. | ||
|
||
* Bump the version number in lib/git/version.rb following [Semantic Versioning](https://semver.org) | ||
guidelines | ||
* Add a link in CHANGELOG.md to the release tag which will be created later | ||
in this guide | ||
* Create a new tag using [git-extras](https://github.com/tj/git-extras/blob/master/Commands.md#git-release) | ||
`git release` command | ||
* For example: `git release v1.6.0.pre1` | ||
* These should be the only changes in the PR | ||
* An example of these changes for `v1.6.0.pre1` can be found in [PR #435](https://github.com/ruby-git/ruby-git/pull/435) | ||
* Get the PR reviewed, approved and merged to master. | ||
|
||
## Create a GitHub release | ||
|
||
On [the ruby-git releases page](https://github.com/ruby-git/ruby-git/releases), | ||
select `Draft a new release` | ||
|
||
* Select the tag corresponding to the version being released `v1.6.0.pre1` | ||
* The Target should be `master` | ||
* For the release description, use the output of [changelog-rs](https://github.com/perlun/changelog-rs) | ||
* Since the release has not been created yet, you will need to supply | ||
`changeling-rs` with the current release tag and the tag the new release | ||
is being created from | ||
* For example: `changelog-rs . v1.5.0 v1.6.0.pre1` | ||
* Copy the output, omitting the tag header `## v1.6.0.pre1` and paste into | ||
the release description | ||
* The release description can be edited later if needed | ||
* Select the appropriate value for `This is a pre-release` | ||
* Since `v1.6.0.pre1` is a pre-release, check `This is a pre-release` | ||
|
||
## Build and release the gem | ||
|
||
Clone [ruby-git/ruby-git](https://github.com/ruby-git/ruby-git) directly (not a | ||
fork) and ensure your local working copy is on the master branch | ||
|
||
* Verify that you are not on a fork with the command `git remote -v` | ||
* Verify that the version number is correct by running `rake -T` and inspecting | ||
the output for the `release[remote]` task | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's also possible to have multiple remotes in a git working copy; this is how I typically do it both at work. But I'm not sure it plays that well with the |
||
|
||
Build the git gem and push it to rubygems.org with the command `rake release` | ||
|
||
* Ensure that your `gem sources list` includes `https://rubygems.org` (in my | ||
case, I usually have my work’s internal gem repository listed) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the tag really be made in the actual PR? This will work but only as long as we are strict with using
--ff-only
-style merging (fast forward merges without merge commits).The other option would be to tag it once the PR is merged instead.