@@ -7,6 +7,8 @@ the [code of conduct][🤝conduct].
7
7
To submit a patch, please fork the project and create a patch with tests.
8
8
Once you're happy with it send a pull request.
9
9
10
+ We [ ![ Keep A Changelog] [ 📗keep-changelog-img ]] [ 📗keep-changelog ] so if you make changes, remember to update it.
11
+
10
12
## You can help!
11
13
12
14
Take a look at the ` reek ` list which is the file called ` REEK ` and find something to improve.
@@ -21,22 +23,6 @@ Simply follow these instructions:
21
23
6 . Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
22
24
7 . Create new Pull Request.
23
25
24
- ## Contributors
25
-
26
- Your picture could be here!
27
-
28
- [ ![ Contributors] [ 🖐contributors-img ]] [ 🖐contributors ]
29
-
30
- Made with [ contributors-img] [ 🖐contrib-rocks ] .
31
-
32
- ## The Reek List
33
-
34
- To refresh the ` reek ` list:
35
-
36
- ``` bash
37
- bundle exec reek > REEK
38
- ```
39
-
40
26
## Appraisals
41
27
42
28
From time to time the appraisal gemfiles in ` gemfiles/ ` will need to be updated.
@@ -54,6 +40,16 @@ bundle exec rake rubocop_gradual:autocorrect
54
40
55
41
When adding an appraisal to CI check the [ runner tool cache] [ 🏃♂️runner-tool-cache ] to see which runner to use.
56
42
43
+ ## The Reek List
44
+
45
+ Take a look at the ` reek ` list which is the file called ` REEK ` and find something to improve.
46
+
47
+ To refresh the ` reek ` list:
48
+
49
+ ``` bash
50
+ bundle exec reek > REEK
51
+ ```
52
+
57
53
## Run Tests
58
54
59
55
NOTE: In order to run * all* the tests you will need to have the following databases installed, configured, and running.
@@ -127,11 +123,20 @@ bundle exec rake
127
123
```
128
124
129
125
Or just run the linter.
126
+
130
127
``` bash
131
128
bundle exec rake rubocop_gradual:autocorrect
132
129
```
133
130
134
- ## Release
131
+ ## Contributors
132
+
133
+ Your picture could be here!
134
+
135
+ [ ![ Contributors] [ 🖐contributors-img ]] [ 🖐contributors ]
136
+
137
+ Made with [ contributors-img] [ 🖐contrib-rocks ] .
138
+
139
+ ## For Maintainers
135
140
136
141
### One-time, Per-maintainer, Setup
137
142
@@ -146,31 +151,42 @@ NOTE: To build without signing the gem you must set `SKIP_GEM_SIGNING` to some v
146
151
### To release a new version:
147
152
148
153
1 . Run ` bin/setup && bin/rake ` as a tests, coverage, & linting sanity check
149
- 2 . Update the version number in ` version.rb `
154
+ 2 . Update the version number in ` version.rb ` , and ensure ` CHANGELOG.md ` reflects changes
150
155
3 . Run ` bin/setup && bin/rake ` again as a secondary check, and to update ` Gemfile.lock `
151
156
4 . Run ` git commit -am "🔖 Prepare release v<VERSION>" ` to commit the changes
152
157
5 . Run ` git push ` to trigger the final CI pipeline before release, & merge PRs
153
- - NOTE: Remember to [ check the build] [ 🧪build ] !
158
+ - NOTE: Remember to [ check the build] [ 🧪build ] !
154
159
6 . Run ` export GIT_TRUNK_BRANCH_NAME="$(git remote show origin | grep 'HEAD branch' | cut -d ' ' -f5)" && echo $GIT_TRUNK_BRANCH_NAME `
155
160
7 . Run ` git checkout $GIT_TRUNK_BRANCH_NAME `
156
161
8 . Run ` git pull origin $GIT_TRUNK_BRANCH_NAME ` to ensure you will release the latest trunk code
157
162
9 . Set ` SOURCE_DATE_EPOCH ` so ` rake build ` and ` rake release ` use same timestamp, and generate same checksums
158
- - Run ` export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH `
159
- - If the echo above has no output, then it didn't work.
160
- - Note that you'll need the ` zsh/datetime ` module, if running ` zsh ` .
161
- - In ` bash ` you can use ` date +%s ` instead, i.e. ` export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH `
163
+ - Run ` export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH `
164
+ - If the echo above has no output, then it didn't work.
165
+ - Note that you'll need the ` zsh/datetime ` module, if running ` zsh ` .
166
+ - In older versions of ` bash ` you can use ` date +%s ` instead, i.e. ` export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH `
162
167
10 . Run ` bundle exec rake build `
163
- 11 . Run ` bin/checksums ` (more [ context] [ 🔒️rubygems-checksums-pr ] ) to create SHA-256 and SHA-512 checksums
168
+ 11 . Run ` bin/gem_checksums ` (more context [ 1] [ 🔒️rubygems-checksums-pr ] , [ 2] [ 🔒️rubygems-guides-pr ] )
169
+ to create SHA-256 and SHA-512 checksums. This functionality is provided by the ` stone_checksums `
170
+ [ gem] [ 💎stone_checksums ] .
164
171
- Checksums will be committed automatically by the script, but not pushed
165
172
12 . Run ` bundle exec rake release ` which will create a git tag for the version,
166
173
push git commits and tags, and push the ` .gem ` file to [ rubygems.org] [ 💎rubygems ]
167
174
175
+ [ 🚎src-main ] : https://github.com/omniauth/omniauth-identity
168
176
[ 🧪build ] : https://github.com/omniauth/omniauth-identity/actions
169
177
[ 🤝conduct ] : https://github.com/omniauth/omniauth-identity/blob/main/CODE_OF_CONDUCT.md
170
178
[ 🖐contrib-rocks ] : https://contrib.rocks
171
179
[ 🖐contributors ] : https://github.com/omniauth/omniauth-identity/graphs/contributors
172
180
[ 🖐contributors-img ] : https://contrib.rocks/image?repo=omniauth/omniauth-identity
173
181
[ 💎rubygems ] : https://rubygems.org
174
182
[ 🔒️rubygems-security-guide ] : https://guides.rubygems.org/security/#building-gems
175
- [ 🔒️rubygems-checksums-pr ] : https://github.com/rubygems/guides/pull/325
176
- [ 🚎src-main ] : https://github.com/omniauth/omniauth-identity
183
+ [ 🔒️rubygems-checksums-pr ] : https://github.com/rubygems/rubygems/pull/6022
184
+ [ 🔒️rubygems-guides-pr ] : https://github.com/rubygems/guides/pull/325
185
+ [ 💎stone_checksums ] : https://github.com/pboling/stone_checksums
186
+ [ 📗keep-changelog ] : https://keepachangelog.com/en/1.0.0/
187
+ [ 📗keep-changelog-img ] : https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
188
+ [ 📌semver-breaking ] : https://github.com/semver/semver/issues/716#issuecomment-869336139
189
+ [ 📌major-versions-not-sacred ] : https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
190
+ [ 🚎appraisal-eval-gemfile-pr ] : https://github.com/thoughtbot/appraisal/pull/248
191
+ [ 🚎appraisal-fork ] : https://github.com/pboling/appraisal/tree/galtzo
192
+ [ 🏃♂️runner-tool-cache ] : https://github.com/ruby/ruby-builder/releases/tag/toolcache
0 commit comments