super_spreader 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +358 -118
- data/Gemfile.lock +8 -8
- data/README.md +1 -1
- data/lib/super_spreader/version.rb +1 -1
- data/super_spreader.gemspec +6 -4
- metadata +11 -12
- data/.travis.yml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad65fe4707c47054fd68d1edbef20f032747c34c8abd7ea4ff83f63910f0fa12
|
4
|
+
data.tar.gz: a60fd7959c1de80066024c791b956169b7cf2dd353b5f452758d91235a203e77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdd752d66bf6e8ac8b825917ea31bdf0601861dc84f5cb175ffcb3760bab7d6a83ba3b7033b926951d90d6f8af9665eb03f1ea39ea26b08ca30dda28900acdfe
|
7
|
+
data.tar.gz: 10dcfcc38afd01c302cc8d9f6905e7aa48366c089e5fe05a3492c0e5ff1aa7157c8ee15a84af62cfc46084abc146a94bf94f3d090aefb4938b66891945d3d24b
|
data/.circleci/config.yml
CHANGED
@@ -1,145 +1,385 @@
|
|
1
1
|
version: 2.1
|
2
2
|
|
3
3
|
orbs:
|
4
|
-
|
4
|
+
ci-utils: doximity/ci-utils@2
|
5
5
|
|
6
6
|
executors:
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
BUNDLE_VERSION: '~> 2.4.3'
|
13
|
-
- image: redis:6.2
|
14
|
-
|
15
|
-
ruby_3_1:
|
7
|
+
ruby:
|
8
|
+
parameters:
|
9
|
+
ruby-version:
|
10
|
+
type: string
|
11
|
+
default: 3.2.2
|
16
12
|
resource_class: small
|
17
13
|
docker:
|
18
|
-
- image: cimg/ruby
|
14
|
+
- image: cimg/ruby:<< parameters.ruby-version >>
|
19
15
|
environment:
|
20
|
-
|
21
|
-
|
16
|
+
REDIS_URL: redis://localhost:6379
|
17
|
+
BUNDLE_VERSION: 2.5.5
|
22
18
|
|
23
|
-
|
19
|
+
ruby-with-services:
|
20
|
+
parameters:
|
21
|
+
ruby-version:
|
22
|
+
type: string
|
23
|
+
default: 3.2.2
|
24
24
|
resource_class: small
|
25
25
|
docker:
|
26
|
-
- image: cimg/ruby
|
26
|
+
- image: cimg/ruby:<< parameters.ruby-version >>
|
27
27
|
environment:
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
# yaml anchor filters
|
32
|
-
master_only: &master_only
|
33
|
-
filters:
|
34
|
-
branches:
|
35
|
-
only: master
|
36
|
-
tags:
|
37
|
-
ignore: /.*/
|
38
|
-
pr_only: &pr_only
|
39
|
-
filters:
|
40
|
-
branches:
|
41
|
-
ignore: master
|
42
|
-
tags:
|
43
|
-
ignore: /.*/
|
44
|
-
version_tags_only: &version_tags_only
|
45
|
-
filters:
|
46
|
-
branches:
|
47
|
-
ignore: /.*/
|
48
|
-
tags:
|
49
|
-
only: /^v.*/
|
28
|
+
REDIS_URL: redis://localhost:6379
|
29
|
+
BUNDLE_VERSION: 2.5.5
|
30
|
+
- image: cimg/redis:6.2
|
50
31
|
|
51
|
-
|
52
|
-
|
32
|
+
commands:
|
33
|
+
bundle_install:
|
53
34
|
parameters:
|
54
|
-
|
35
|
+
cache-dependencies:
|
36
|
+
description: 'Determines whether or not to use a cache for gem dependencies.
|
37
|
+
Default is false.
|
38
|
+
|
39
|
+
'
|
40
|
+
type: boolean
|
41
|
+
default: false
|
42
|
+
cache-salt:
|
43
|
+
description: |
|
44
|
+
Salt to change the cache name, so we can use it with different version (i.e. Ruby versions).
|
45
|
+
If you're only using a single Ruby version, it's recommended to leave it blank.
|
55
46
|
type: string
|
56
|
-
default:
|
57
|
-
executor: "<< parameters.executor >>"
|
47
|
+
default: default
|
58
48
|
steps:
|
59
|
-
- checkout
|
60
49
|
- run:
|
61
50
|
name: Install Bundler specific version
|
51
|
+
command: gem install bundler --version "$BUNDLE_VERSION" --force
|
52
|
+
- when:
|
53
|
+
condition: "<< parameters.cache-dependencies >>"
|
54
|
+
steps:
|
55
|
+
- restore_cache:
|
56
|
+
keys:
|
57
|
+
- << parameters.cache-salt >>-v1-bundle-{{ checksum "Gemfile.lock" }}
|
58
|
+
- "<< parameters.cache-salt >>-v1-bundle-"
|
59
|
+
- run:
|
60
|
+
name: Configure Bundler
|
62
61
|
command: |
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
- v1-bundle-<< parameters.executor >>-{{ checksum "Gemfile.lock" }}
|
62
|
+
bundle config set --local path 'vendor/bundle'
|
63
|
+
bundle config set --local jobs 4
|
64
|
+
bundle config set --local retry 3
|
67
65
|
- run:
|
68
66
|
name: Install Ruby Dependencies
|
69
|
-
command:
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
67
|
+
command: |
|
68
|
+
if [ -d "vendor/cache" ]; then
|
69
|
+
bundle install --local --verbose
|
70
|
+
else
|
71
|
+
bundle install --verbose
|
72
|
+
fi
|
74
73
|
- run:
|
75
|
-
name:
|
76
|
-
command:
|
77
|
-
-
|
78
|
-
|
74
|
+
name: Did you run bundle install after changing Gemfile?
|
75
|
+
command: git diff --exit-code Gemfile.lock
|
76
|
+
- when:
|
77
|
+
condition: "<< parameters.cache-dependencies >>"
|
78
|
+
steps:
|
79
|
+
- save_cache:
|
80
|
+
key: << parameters.cache-salt >>-v1-bundle-{{ checksum "Gemfile.lock"}}
|
81
|
+
paths:
|
82
|
+
- vendor/bundle
|
83
|
+
|
84
|
+
install_gem_version:
|
85
|
+
parameters:
|
86
|
+
gem-version:
|
87
|
+
description: 'The name and version number (e.g. rails-7.0.3) you want installed, specified to the patch version.'
|
88
|
+
type: string
|
89
|
+
default: ''
|
90
|
+
steps:
|
91
|
+
- when:
|
92
|
+
condition: "<< parameters.gem-version >>"
|
93
|
+
steps:
|
94
|
+
- run:
|
95
|
+
name: Unfreeze Bundle
|
96
|
+
command: bundle config set --local frozen 'false'
|
97
|
+
- run:
|
98
|
+
name: Show prior gem version
|
99
|
+
command: |
|
100
|
+
read -r target_gemname target_version \<<< $( echo "<< parameters.gem-version >>" | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)/\1 \2/g')
|
101
|
+
version=$(bundle list | sed -n "s/[[:space:]]*\* $target_gemname (\(.*\))/\1/p")
|
102
|
+
if [[ -z "$version" ]]; then
|
103
|
+
echo "No prior version of ${target_gemname} found."
|
104
|
+
else
|
105
|
+
echo $version;
|
106
|
+
fi
|
107
|
+
- run:
|
108
|
+
name: Set gem version to << parameters.gem-version >>
|
109
|
+
command: |
|
110
|
+
cd
|
111
|
+
mkdir -p ~/project/vendor/cache
|
112
|
+
read -r target_gemname target_version \<<< $( echo "<< parameters.gem-version >>" | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)/\1 \2/g')
|
113
|
+
gem install $target_gemname -i /tmp/repo --no-document -v $target_version
|
114
|
+
|
115
|
+
# Install sqlite3 2.1.0 if we're using Rails 8
|
116
|
+
if [[ "$target_gemname" = "rails" && "$target_version" =~ ^8\. ]]; then
|
117
|
+
echo "Detected Rails 8.x, installing sqlite3 2.1.0"
|
118
|
+
gem install sqlite3 -i /tmp/repo --no-document -v 2.1.0
|
119
|
+
else
|
120
|
+
gem install sqlite3 -i /tmp/repo --no-document -v 1.7.3
|
121
|
+
fi
|
122
|
+
|
123
|
+
echo 'Delete any gems matching the newly installed ones from the existing cache'
|
124
|
+
for line in $(ls /tmp/repo/cache | grep gem); do
|
125
|
+
read -r gemname version \<<< $( echo $line | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)[^0-9\.]*.*.gem/\1 \2/g')
|
126
|
+
if [ $gemname = 'bundler' ]; # skip bundler
|
127
|
+
then continue
|
128
|
+
fi
|
129
|
+
rm -f ~/project/vendor/cache/$gemname*.gem
|
130
|
+
done;
|
131
|
+
|
132
|
+
echo 'The following gems will be copied into the project: '
|
133
|
+
ls -l /tmp/repo/cache
|
134
|
+
cp /tmp/repo/cache/*.gem ~/project/vendor/cache
|
135
|
+
|
136
|
+
echo 'Showing gems in the project cache: ls -al ~/project/vendor/cache'
|
137
|
+
ls -al ~/project/vendor/cache
|
138
|
+
|
139
|
+
cd ~/project
|
140
|
+
echo 'Removing Gemfile.lock'
|
141
|
+
rm -f ./Gemfile.lock
|
142
|
+
|
143
|
+
echo 'Fancy replacement. Set all gems in the gemspec to what we currently have in the vendor/cache.'
|
144
|
+
for line in $(ls vendor/cache | grep gem); do
|
145
|
+
# we don't care about the .gem, get rid of it
|
146
|
+
trimmed_line=${line%%.gem}
|
147
|
+
# version to include anything after the gem name so we can pick up prerelease versions
|
148
|
+
read -r gemname version \<<< $( echo $trimmed_line | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*[^0-9\.]*.*\)/\1 \2/g' )
|
149
|
+
|
150
|
+
# leave bundler alone
|
151
|
+
if [ $gemname = 'bundler' ];
|
152
|
+
then continue
|
153
|
+
fi
|
154
|
+
|
155
|
+
# strip out platform info from version, we just want the number plus any prerelease identifiers
|
156
|
+
version=$(echo $version | cut -d "-" -f 1)
|
157
|
+
|
158
|
+
sed -i "s/\(.*_dependency \"$gemname\"\)".*"/\1, \"~> $version\"/g" *.gemspec
|
159
|
+
|
160
|
+
if [[ "$gemname" = "$target_gemname" ]]; then
|
161
|
+
if [[ -z "$(sed -n "s/\(.*_dependency \"$gemname\"\).*\"/\1/p" *.gemspec)" ]];
|
162
|
+
then
|
163
|
+
echo 'No pre-existing version, adding version';
|
164
|
+
replacement="spec\\.add_development_dependency \"$gemname\", \"~> $version\""
|
165
|
+
sed -e "0,/add.*dependency/{/add.*dependency/a\ $replacement" -e "}" -i -- *.gemspec
|
166
|
+
else
|
167
|
+
echo 'nothing to do';
|
168
|
+
fi;
|
169
|
+
fi;
|
170
|
+
done;
|
171
|
+
|
172
|
+
if [[ "$target_gemname" = "rails" && "$target_version" =~ ^8\. ]]; then
|
173
|
+
echo "Detected Rails 8.x, force gemspec to use sqlite3 >= 2.1"
|
174
|
+
sed -i 's/spec.add_development_dependency "sqlite3"/spec.add_development_dependency "sqlite3", ">= 2.1"/' super_spreader.gemspec
|
175
|
+
else
|
176
|
+
sed -i 's/spec.add_development_dependency "sqlite3"/spec.add_development_dependency "sqlite3", "~> 1.7"/' super_spreader.gemspec
|
177
|
+
fi
|
178
|
+
|
179
|
+
echo 'cat *.gemspec'
|
180
|
+
cat *.gemspec
|
181
|
+
|
182
|
+
echo 'bundle install --local --no-cache'
|
183
|
+
bundle install --local --no-cache
|
184
|
+
- run:
|
185
|
+
name: Gem version after upgrade
|
186
|
+
command: |
|
187
|
+
read -r target_gemname target_version \<<< $( echo "<< parameters.gem-version >>" | sed 's/\(.*\)-\([0-9]\{1,3\}\(\.[0-9]\{1,3\}\)*\)/\1 \2/g')
|
188
|
+
version=$(bundle list | sed -n "s/[[:space:]]*\* $target_gemname (\(.*\))/\1/p")
|
189
|
+
if [[ -z "$version" ]]; then
|
190
|
+
echo "${target_gemname} was somehow not installed."
|
191
|
+
exit 1
|
192
|
+
else
|
193
|
+
echo $version;
|
194
|
+
fi
|
195
|
+
|
196
|
+
run_rspec_tests:
|
197
|
+
parameters:
|
198
|
+
test_pattern:
|
199
|
+
default: "{$(ls -d spec/**/ | tr '\\n' ',' | sed -E 's/(spec\\/|factories|support|\\/|,$)//g'
|
200
|
+
| sed 's/,\\{2,\\}/,/g')}"
|
201
|
+
type: string
|
202
|
+
description: |
|
203
|
+
A string that resolves to something like this:
|
204
|
+
"{controllers,features,javascripts,lib,models,services,system,views}"
|
205
|
+
It must either be a VALID BASH string (assignable to a variable) or evaluate to that in a CI Bash environment.
|
206
|
+
You must escape bashslashes (`\`), e.g. "\\" if you want them to make it through Circle's Parameter evaluation step.
|
207
|
+
It is consumed (by default) by 'circelci tests glob' which aims for a string like this:
|
208
|
+
"spec/{controllers,models,system}/**/*_spec.rb"
|
209
|
+
You can opt to pass in an empty string if you plan to provide an explicit list with test_files.
|
210
|
+
test_files:
|
211
|
+
default: $(circleci tests glob "spec/$TEST_PATTERN/**/*_spec.rb" | circleci
|
212
|
+
tests split --split-by=timings)
|
213
|
+
type: string
|
214
|
+
description: |
|
215
|
+
A string that resolves to something like this: "spec/models/user_spec.rb spec/controllers/user_controller_spec.rb ..."
|
216
|
+
It must either be a VALID BASH string (assignable to a variable) or evaluate to that in a CI Bash environment.
|
217
|
+
You must escape bashslashes (`\`), e.g. "\\" if you want them to make it through Circle's Parameter evaluation step.
|
218
|
+
It is used directly as an argument to `bundle exec rspec $TESTFILES`.
|
219
|
+
If you provide a direct list of files, e.g.
|
220
|
+
"echo 'spec/one_spec.rb spec/two_spec.rb spec/red_spec.rb spec/blue_spec.rb'"
|
221
|
+
And you wish to maintain proper parallelism support, you can pipe it to "circleci tests split":
|
222
|
+
"$(echo 'spec/one_spec.rb \n spec/two_spec.rb \n spec/red_spec.rb \n spec/blu_spec.rb' | circleci tests split --split-by=timings)"
|
223
|
+
NOTE: 'circleci tests split' wants a newline separated list:
|
224
|
+
spec/seuss/one_spec.rb
|
225
|
+
spec/seuss/two_spec.rb
|
226
|
+
spec/seuss/red_spec.rb
|
227
|
+
spec/seuss/blu_spec.rb
|
228
|
+
Don't forget to use a subshell.
|
229
|
+
profile-specs:
|
230
|
+
description: 'State the number of specs you wish to evaluate for slowness
|
231
|
+
using RSpec profiler. Default is 0.
|
232
|
+
|
233
|
+
'
|
234
|
+
type: integer
|
235
|
+
default: 0
|
236
|
+
steps:
|
237
|
+
- run:
|
238
|
+
name: Run RSpec Tests
|
239
|
+
command: |
|
240
|
+
shopt -s globstar
|
241
|
+
OUT_PATH=tmp/test-results
|
242
|
+
mkdir -p $OUT_PATH
|
243
|
+
TEST_PATTERN=<< parameters.test_pattern >>
|
244
|
+
TEST_FILES=<< parameters.test_files >>
|
245
|
+
PROFILE_COUNT=<< parameters.profile-specs >>
|
246
|
+
RSPEC_COMMAND="bundle exec rspec --profile $PROFILE_COUNT --format RspecJunitFormatter --out $OUT_PATH/results.xml --format progress --order defined $TEST_FILES"
|
247
|
+
printf "Executing specs with the following command:\n\n"
|
248
|
+
echo ${RSPEC_COMMAND}
|
249
|
+
printf "\n"
|
250
|
+
eval $RSPEC_COMMAND
|
251
|
+
|
252
|
+
jobs:
|
253
|
+
circle_ci_job:
|
254
|
+
parameters:
|
255
|
+
executor:
|
256
|
+
type: string
|
257
|
+
default: base
|
258
|
+
resource_class:
|
259
|
+
type: string
|
260
|
+
default: small
|
261
|
+
parallelism:
|
262
|
+
type: integer
|
263
|
+
default: 1
|
264
|
+
checkout-depth:
|
265
|
+
type: string
|
266
|
+
default: '1'
|
267
|
+
checkout-cache-salt:
|
268
|
+
type: string
|
269
|
+
default: base
|
270
|
+
dependencies:
|
271
|
+
description: Steps to install/manage machine and project dependencies, executed
|
272
|
+
after project checkout.
|
273
|
+
type: steps
|
274
|
+
default: []
|
275
|
+
pre-actions:
|
276
|
+
description: Steps to perform any necessary setup after dependencies are installed.
|
277
|
+
type: steps
|
278
|
+
default: []
|
279
|
+
actions:
|
280
|
+
description: The actions that fulfill the primary purpose of the CI job (tests/checks/etc.)
|
281
|
+
type: steps
|
282
|
+
default:
|
283
|
+
- run:
|
284
|
+
name: No CI Actions Warning
|
285
|
+
command: |
|
286
|
+
echo "No actions provided for CI to perform! Please add desired CI task via pipefitter extension."
|
287
|
+
exit 1
|
288
|
+
post-actions:
|
289
|
+
description: Any artifacting/reporting/cleanup that must occur after the main
|
290
|
+
actions.
|
291
|
+
type: steps
|
292
|
+
default: []
|
293
|
+
executor: "<< parameters.executor >>"
|
294
|
+
resource_class: "<< parameters.resource_class >>"
|
295
|
+
parallelism: "<< parameters.parallelism >>"
|
296
|
+
steps:
|
297
|
+
- ci-utils/ci_checkout:
|
298
|
+
depth: "<< parameters.checkout-depth >>"
|
299
|
+
cache-salt: "<< parameters.checkout-cache-salt >>"
|
300
|
+
- steps: "<< parameters.dependencies >>"
|
301
|
+
- steps: "<< parameters.pre-actions >>"
|
302
|
+
- steps: "<< parameters.actions >>"
|
303
|
+
- steps: "<< parameters.post-actions >>"
|
304
|
+
- ci-utils/quietly_store_artifacts
|
305
|
+
|
306
|
+
ruby_mvt_job:
|
307
|
+
parameters:
|
308
|
+
executor:
|
309
|
+
type: string
|
310
|
+
default: ruby
|
311
|
+
parallelism:
|
312
|
+
type: integer
|
313
|
+
default: 1
|
314
|
+
resource_class:
|
315
|
+
type: string
|
316
|
+
default: small
|
317
|
+
cache-dependencies:
|
318
|
+
description: 'Determines whether or not to use a cache for gem dependencies.
|
319
|
+
Default is false.
|
320
|
+
|
321
|
+
'
|
322
|
+
type: boolean
|
323
|
+
default: false
|
324
|
+
gem-version:
|
325
|
+
description: 'The name and version number (e.g. rails-7.0.3) you want installed,
|
326
|
+
specified to the patch version.
|
327
|
+
|
328
|
+
'
|
329
|
+
type: string
|
330
|
+
default: ''
|
331
|
+
ruby-version:
|
332
|
+
type: string
|
333
|
+
default: '3.1'
|
334
|
+
pre-actions:
|
335
|
+
description: Steps to perform any necessary setup after dependencies are installed.
|
336
|
+
type: steps
|
337
|
+
default: []
|
338
|
+
actions:
|
339
|
+
description: The actions that fulfill the primary purpose of the CI job (tests/checks/etc.)
|
340
|
+
type: steps
|
341
|
+
default: []
|
342
|
+
post-actions:
|
343
|
+
description: Any artifacting/reporting/cleanup that must occur after the main
|
344
|
+
actions.
|
345
|
+
type: steps
|
346
|
+
default: []
|
347
|
+
executor:
|
348
|
+
name: "<< parameters.executor >>"
|
349
|
+
ruby-version: "<< parameters.ruby-version >>"
|
350
|
+
resource_class: "<< parameters.resource_class >>"
|
351
|
+
parallelism: "<< parameters.parallelism >>"
|
352
|
+
steps:
|
353
|
+
- ci-utils/ci_checkout
|
354
|
+
- bundle_install:
|
355
|
+
cache-dependencies: "<< parameters.cache-dependencies >>"
|
356
|
+
cache-salt: "<< parameters.ruby-version >>"
|
357
|
+
- install_gem_version:
|
358
|
+
gem-version: "<< parameters.gem-version >>"
|
359
|
+
- steps: "<< parameters.pre-actions >>"
|
360
|
+
- steps: "<< parameters.actions >>"
|
361
|
+
- steps: "<< parameters.post-actions >>"
|
362
|
+
- ci-utils/quietly_store_artifacts
|
79
363
|
|
80
364
|
workflows:
|
81
|
-
|
82
|
-
jobs:
|
83
|
-
- build:
|
84
|
-
<<: *master_only
|
85
|
-
matrix:
|
86
|
-
parameters:
|
87
|
-
executor: [ruby_3_0, ruby_3_1, ruby_3_2]
|
88
|
-
- gem/build:
|
89
|
-
<<: *master_only
|
90
|
-
executor: ruby_3_2
|
91
|
-
name: gem-build
|
92
|
-
requires:
|
93
|
-
- build
|
94
|
-
|
95
|
-
pull-requests:
|
96
|
-
jobs:
|
97
|
-
- build:
|
98
|
-
<<: *pr_only
|
99
|
-
matrix:
|
100
|
-
parameters:
|
101
|
-
executor: [ruby_3_0, ruby_3_1, ruby_3_2]
|
102
|
-
- gem/build:
|
103
|
-
<<: *pr_only
|
104
|
-
executor: ruby_3_2
|
105
|
-
name: gem-build
|
106
|
-
vendor-cache: false
|
107
|
-
requires:
|
108
|
-
- build
|
109
|
-
- pre-release-approval:
|
110
|
-
<<: *pr_only
|
111
|
-
type: approval
|
112
|
-
requires:
|
113
|
-
- gem-build
|
114
|
-
- gem/publish:
|
115
|
-
<<: *pr_only
|
116
|
-
name: gem-publish
|
117
|
-
to_rubygems: false
|
118
|
-
to_nexus: true
|
119
|
-
pre_release: true
|
120
|
-
requires:
|
121
|
-
- pre-release-approval
|
122
|
-
context: artifact_publishing
|
123
|
-
|
124
|
-
final-release:
|
365
|
+
main:
|
125
366
|
jobs:
|
126
|
-
-
|
127
|
-
|
367
|
+
- ruby_mvt_job:
|
368
|
+
executor: ruby-with-services
|
369
|
+
context: nexus_readonly
|
370
|
+
post-actions:
|
371
|
+
- store_test_results:
|
372
|
+
path: tmp/test-results
|
373
|
+
actions:
|
374
|
+
- run_rspec_tests:
|
375
|
+
test_pattern: "{$(ls -d spec/**/ | sed -E 's/(spec\\/|factories|support|\\/|,$)//g'
|
376
|
+
| sort | uniq | tr '\\n' ',' | sed 's/,\\{2,\\}/,/g')}"
|
377
|
+
test_files: $(circleci tests glob "spec/$TEST_PATTERN/**/*_spec.rb" |
|
378
|
+
circleci tests split --split-by=timings)
|
379
|
+
parallelism: 1
|
128
380
|
matrix:
|
129
381
|
parameters:
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
name: gem-build
|
135
|
-
vendor-cache: false
|
136
|
-
requires:
|
137
|
-
- build
|
138
|
-
- gem/publish:
|
139
|
-
<<: *version_tags_only
|
140
|
-
name: gem-publish
|
141
|
-
to_rubygems: true
|
142
|
-
pre_release: false
|
143
|
-
requires:
|
144
|
-
- gem-build
|
145
|
-
context: artifact_publishing
|
382
|
+
ruby-version: ['3.2', '3.3']
|
383
|
+
gem-version: ['rails-7.1.3', 'rails-7.2.2', 'rails-8.0.2']
|
384
|
+
name: ruby_mvt_job-ruby-<< matrix.ruby-version >>-<< matrix.gem-version >>
|
385
|
+
cache-dependencies: true
|
data/Gemfile.lock
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
super_spreader (0.
|
5
|
-
activejob (>= 6.1, <
|
6
|
-
activemodel (>= 6.1, <
|
7
|
-
activerecord (>= 6.1, <
|
8
|
-
activesupport (>= 6.1, <
|
4
|
+
super_spreader (0.3.0)
|
5
|
+
activejob (>= 6.1, < 9.0)
|
6
|
+
activemodel (>= 6.1, < 9.0)
|
7
|
+
activerecord (>= 6.1, < 9.0)
|
8
|
+
activesupport (>= 6.1, < 9.0)
|
9
9
|
redis (>= 4.8, < 6.0)
|
10
10
|
|
11
11
|
GEM
|
@@ -82,7 +82,7 @@ GEM
|
|
82
82
|
mini_portile2 (2.8.5)
|
83
83
|
minitest (5.20.0)
|
84
84
|
nenv (0.3.0)
|
85
|
-
nokogiri (1.
|
85
|
+
nokogiri (1.16.2)
|
86
86
|
mini_portile2 (~> 2.8.2)
|
87
87
|
racc (~> 1.4)
|
88
88
|
notiffany (0.1.3)
|
@@ -164,7 +164,7 @@ GEM
|
|
164
164
|
rubocop-ast (>= 0.4.0)
|
165
165
|
ruby-progressbar (1.13.0)
|
166
166
|
shellany (0.0.1)
|
167
|
-
sqlite3 (1.
|
167
|
+
sqlite3 (1.7.3)
|
168
168
|
mini_portile2 (~> 2.8.0)
|
169
169
|
standard (1.32.0)
|
170
170
|
language_server-protocol (~> 3.17.0.2)
|
@@ -204,4 +204,4 @@ DEPENDENCIES
|
|
204
204
|
yard
|
205
205
|
|
206
206
|
BUNDLED WITH
|
207
|
-
2.
|
207
|
+
2.5.5
|
data/README.md
CHANGED
@@ -211,7 +211,7 @@ For Rails, please set up SuperSpreader using an initializer:
|
|
211
211
|
# config/initializers/super_spreader.rb
|
212
212
|
|
213
213
|
SuperSpreader.logger = Rails.logger
|
214
|
-
SuperSpreader.redis = Redis.new(url: ENV
|
214
|
+
SuperSpreader.redis = Redis.new(url: ENV.fetch("REDIS_URL"))
|
215
215
|
```
|
216
216
|
|
217
217
|
## Roadmap
|
data/super_spreader.gemspec
CHANGED
@@ -27,10 +27,12 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = []
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
|
30
|
-
spec.
|
31
|
-
|
32
|
-
spec.add_dependency "
|
33
|
-
spec.add_dependency "
|
30
|
+
spec.required_ruby_version = '>= 3.1.0'
|
31
|
+
|
32
|
+
spec.add_dependency "activejob", ">= 6.1", "< 9.0"
|
33
|
+
spec.add_dependency "activemodel", ">= 6.1", "< 9.0"
|
34
|
+
spec.add_dependency "activerecord", ">= 6.1", "< 9.0"
|
35
|
+
spec.add_dependency "activesupport", ">= 6.1", "< 9.0"
|
34
36
|
spec.add_dependency "redis", ">= 4.8", "< 6.0"
|
35
37
|
spec.add_development_dependency "bundler"
|
36
38
|
spec.add_development_dependency "factory_bot"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: super_spreader
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Oakes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '6.1'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '
|
22
|
+
version: '9.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '6.1'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
32
|
+
version: '9.0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: activemodel
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
version: '6.1'
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
42
|
+
version: '9.0'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -49,7 +49,7 @@ dependencies:
|
|
49
49
|
version: '6.1'
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
52
|
+
version: '9.0'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: activerecord
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,7 +59,7 @@ dependencies:
|
|
59
59
|
version: '6.1'
|
60
60
|
- - "<"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
62
|
+
version: '9.0'
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -69,7 +69,7 @@ dependencies:
|
|
69
69
|
version: '6.1'
|
70
70
|
- - "<"
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: '
|
72
|
+
version: '9.0'
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: activesupport
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -79,7 +79,7 @@ dependencies:
|
|
79
79
|
version: '6.1'
|
80
80
|
- - "<"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '9.0'
|
83
83
|
type: :runtime
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -89,7 +89,7 @@ dependencies:
|
|
89
89
|
version: '6.1'
|
90
90
|
- - "<"
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: '
|
92
|
+
version: '9.0'
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: redis
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|
@@ -291,7 +291,6 @@ files:
|
|
291
291
|
- ".gitignore"
|
292
292
|
- ".rspec"
|
293
293
|
- ".ruby-version"
|
294
|
-
- ".travis.yml"
|
295
294
|
- CHANGELOG.md
|
296
295
|
- CONTRIBUTING.md
|
297
296
|
- Gemfile
|
@@ -328,7 +327,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
328
327
|
requirements:
|
329
328
|
- - ">="
|
330
329
|
- !ruby/object:Gem::Version
|
331
|
-
version:
|
330
|
+
version: 3.1.0
|
332
331
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
333
332
|
requirements:
|
334
333
|
- - ">="
|