@@ -10,7 +10,99 @@ tests. Once you're happy with it send a pull request and post a message to the
1010
1111We [ ![ Keep A Changelog] [ 📗keep-changelog-img ]] [ 📗keep-changelog ] so if you make changes, remember to update it.
1212
13- ## Release
13+ ## You can help!
14+
15+ Simply follow these instructions:
16+
17+ 1 . Fork the repository
18+ 2 . Create your feature branch (` git checkout -b my-new-feature ` )
19+ 3 . Make some fixes.
20+ 4 . Commit your changes (` git commit -am 'Added some feature' ` )
21+ 5 . Push to the branch (` git push origin my-new-feature ` )
22+ 6 . Make sure to add tests for it. This is important, so it doesn't break in a future release.
23+ 7 . Create new Pull Request.
24+
25+ ## Appraisals
26+
27+ From time to time the appraisal gemfiles in ` gemfiles/ ` will need to be updated.
28+ They are created and updated with the commands:
29+
30+ ``` shell
31+ BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install
32+ BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update
33+ ```
34+
35+ NOTE: Once ` eval_gemfile ` support is [ merged into appraisal] [ 🚎appraisal-eval-gemfile-pr ]
36+ the above commands will be simplified to:
37+
38+ ``` shell
39+ BUNDLE_GEMFILE=Appraisal.root.gemfile appraisal update
40+ ```
41+
42+ ### SemVer Failure
43+
44+ NOTE: Because [ Appraisal v2.3.0] ( https://github.com/thoughtbot/appraisal/releases/tag/v2.3.0 )
45+ dropped [ support for Ruby v1.8 - v2.2] ( https://github.com/thoughtbot/appraisal/pull/158 ) ,
46+ thus [ violating the principles of SemVer] [ 📌semver-breaking ]
47+ (at least according to most people including the [ inventor of SemVer] [ 📌major-versions-not-sacred ] ),
48+ we must use an alternate Gemfile and Appraisal file for those Rubies.
49+
50+ ``` shell
51+ asdf local ruby 2.7.8
52+ BUNDLE_GEMFILE=Appraisal.hoary.gemfile bundle install
53+ cat << EOF > Appraisals
54+ # frozen_string_literal: true
55+ appraise "ruby-2-2" do
56+ gem "mutex_m", "~> 0.2"
57+ gem "stringio", "~> 3.0"
58+ end
59+ EOF
60+ BUNDLE_GEMFILE=Appraisal.hoary.gemfile bundle exec appraisal update
61+ ```
62+
63+ ## The Reek List
64+
65+ Take a look at the ` reek ` list which is the file called ` REEK ` and find something to improve.
66+
67+ To refresh the ` reek ` list:
68+
69+ ``` bash
70+ bundle exec reek > REEK
71+ ```
72+
73+ ## Run Tests
74+
75+ To run all tests
76+
77+ ``` bash
78+ bundle exec rake test
79+ ```
80+
81+ ## Lint It
82+
83+ Run all the default tasks, which includes running the gradually autocorrecting linter, ` rubocop-gradual ` .
84+
85+ ``` bash
86+ bundle exec rake
87+ ```
88+
89+ Or just run the linter.
90+
91+ ``` bash
92+ bundle exec rubocop_gradual:autocorrect
93+ ```
94+
95+ ## Contributors
96+
97+ Your picture could be here!
98+
99+ [ ![ Contributors] [ 🖐contributors-img ]] [ 🖐contributors ]
100+
101+ Made with [ contributors-img] [ 🖐contrib-rocks ] .
102+
103+ Also see GitLab Contributors: [ https://gitlab.com/oauth-xx/version_gem/-/graphs/main ] [ 🚎contributors ]
104+
105+ ## For Maintainers
14106
15107### One-time, Per-maintainer, Setup
16108
@@ -36,30 +128,11 @@ See: [RubyGems Security Guide][🔒️rubygems-security-guide]
36128 - Note that you'll need the ` zsh/datetime ` module, if running ` zsh ` .
37129 - In ` bash ` you can use ` date +%s ` instead, i.e. ` export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH `
3813010 . Run ` bundle exec rake build `
39- 11 . Run ` bin/checksums ` (more [ context] [ 🔒️rubygems-checksums-pr ] ) to create SHA-256 and SHA-512 checksums
131+ 11 . Run ` gem_checksums ` (more context [ 1] [ 🔒️rubygems-checksums-pr ] and [ 2] [ 🔒️rubygems-guide-pr ] )
132+ to create SHA-256 and SHA-512 checksums
40133 - Checksums will be committed automatically by the script, but not pushed
4113412 . Run ` bundle exec rake release ` which will create a git tag for the version,
42- push git commits and tags, and push the ` .gem ` file to [ rubygems.org] [ 💎rubygems ]
43-
44- ## Contributors
45-
46- Your picture could be here!
47-
48- [ ![ Contributors] [ 🖐contributors-img ]] [ 🖐contributors ]
49-
50- Made with [ contributors-img] [ 🖐contrib-rocks ] .
51-
52- Also see GitLab Contributors: [ https://gitlab.com/oauth-xx/version_gem/-/graphs/main ] [ 🚎contributors ]
53-
54- ## Contributing
55-
56- Bug reports and pull requests are welcome on GitLab at [ https://gitlab.com/oauth-xx/version_gem ] [ 🚎src-main ]
57- . This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
58- the [ code of conduct] [ conduct ] .
59-
60- To submit a patch, please fork the project and create a patch with
61- tests. Once you're happy with it send a pull request and post a message to the
62- [ google group] [ ⛳mail-list ] or on the [ gitter chat] [ 🏘chat ] .
135+ push git commits and tags, and push the ` .gem ` file to [ rubygems.org] [ 💎rubygems ]
63136
64137[ 🚎contributors ] : https://gitlab.com/oauth-xx/version_gem/-/graphs/main
65138[ ⛳mail-list ] : http://groups.google.com/group/oauth-ruby
@@ -75,3 +148,5 @@ tests. Once you're happy with it send a pull request and post a message to the
75148[ 🔒️rubygems-checksums-pr ] : https://github.com/rubygems/guides/pull/325
76149[ 📗keep-changelog ] : https://keepachangelog.com/en/1.0.0/
77150[ 📗keep-changelog-img ] : https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
151+ [ 📌semver-breaking ] : https://github.com/semver/semver/issues/716#issuecomment-869336139
152+ [ 📌major-versions-not-sacred ] : https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
0 commit comments