Skip to content

Commit 65a5b53

Browse files
committed
📝 Improve documentation
1 parent 6bd1307 commit 65a5b53

File tree

2 files changed

+335
-170
lines changed

2 files changed

+335
-170
lines changed

CONTRIBUTING.md

Lines changed: 98 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,99 @@ tests. Once you're happy with it send a pull request and post a message to the
1010

1111
We [![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`
38130
10. 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
41134
12. 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

Comments
 (0)