licensed 3.1.0 → 3.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +19 -0
  3. data/.github/workflows/release.yml +4 -4
  4. data/.github/workflows/test.yml +169 -48
  5. data/.ruby-version +1 -1
  6. data/CHANGELOG.md +51 -1
  7. data/README.md +25 -80
  8. data/docker/Dockerfile.build-linux +1 -1
  9. data/docs/adding_a_new_source.md +11 -8
  10. data/docs/commands/README.md +59 -0
  11. data/docs/commands/cache.md +35 -0
  12. data/docs/commands/env.md +10 -0
  13. data/docs/commands/list.md +23 -0
  14. data/docs/commands/migrate.md +10 -0
  15. data/docs/commands/notices.md +12 -0
  16. data/docs/commands/status.md +74 -0
  17. data/docs/commands/version.md +3 -0
  18. data/docs/configuration/README.md +11 -0
  19. data/docs/configuration/allowed_licenses.md +17 -0
  20. data/docs/configuration/application_name.md +63 -0
  21. data/docs/configuration/application_source.md +64 -0
  22. data/docs/configuration/configuration_root.md +27 -0
  23. data/docs/configuration/configuring_multiple_apps.md +58 -0
  24. data/docs/configuration/dependency_source_enumerators.md +28 -0
  25. data/docs/configuration/ignoring_dependencies.md +19 -0
  26. data/docs/configuration/metadata_cache.md +106 -0
  27. data/docs/configuration/reviewing_dependencies.md +18 -0
  28. data/docs/configuration.md +9 -173
  29. data/lib/licensed/cli.rb +2 -2
  30. data/lib/licensed/commands/cache.rb +21 -20
  31. data/lib/licensed/commands/command.rb +108 -73
  32. data/lib/licensed/commands/environment.rb +12 -11
  33. data/lib/licensed/commands/list.rb +0 -19
  34. data/lib/licensed/commands/notices.rb +0 -19
  35. data/lib/licensed/commands/status.rb +13 -15
  36. data/lib/licensed/configuration.rb +77 -7
  37. data/lib/licensed/report.rb +44 -0
  38. data/lib/licensed/reporters/cache_reporter.rb +48 -64
  39. data/lib/licensed/reporters/json_reporter.rb +19 -21
  40. data/lib/licensed/reporters/list_reporter.rb +45 -58
  41. data/lib/licensed/reporters/notices_reporter.rb +33 -46
  42. data/lib/licensed/reporters/reporter.rb +37 -104
  43. data/lib/licensed/reporters/status_reporter.rb +58 -56
  44. data/lib/licensed/reporters/yaml_reporter.rb +19 -21
  45. data/lib/licensed/sources/bundler/definition.rb +36 -0
  46. data/lib/licensed/sources/bundler/missing_specification.rb +10 -7
  47. data/lib/licensed/sources/bundler.rb +34 -70
  48. data/lib/licensed/sources/dep.rb +2 -2
  49. data/lib/licensed/sources/go.rb +3 -3
  50. data/lib/licensed/sources/gradle.rb +2 -2
  51. data/lib/licensed/sources/helpers/content_versioning.rb +2 -1
  52. data/lib/licensed/sources/npm.rb +4 -3
  53. data/lib/licensed/sources/nuget.rb +1 -2
  54. data/lib/licensed/version.rb +1 -1
  55. data/lib/licensed.rb +1 -0
  56. data/licensed.gemspec +4 -4
  57. data/script/source-setup/go +1 -1
  58. metadata +45 -13
  59. data/docs/commands.md +0 -95
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9411b608edb8210d926f1c927bcaa65e396eac39dbf6300b946e842a33071a23
4
- data.tar.gz: a4dd2527919e79c111107482233945f476df72d9f282431abf99f40a3516b221
3
+ metadata.gz: 1e2043fe7541ca6458302eab4e81fabdc22d874d5e80498eaac0f1551d7796e8
4
+ data.tar.gz: abe1b03af0e02be363661d357e82cac6b53a127a6fd01cfef2c7ba2b6c174116
5
5
  SHA512:
6
- metadata.gz: 07f9153972ac85375a1cb8273d9990052a8d13bc3918c0cd7697c7a0686ef31ed45045065b10091b569a53ad0f2494ae32f0cf2392ae937d242b2954af92c0f6
7
- data.tar.gz: 90364cc7be14673627b0280b018498a0feffc962b1c48a89094b9503d5743362f99ee0c36d601478b1818b10ee48d5b1ef97bdd120d6fbc7299b55efa9c5278c
6
+ metadata.gz: 8555b427c46ab7e0198cf4ac71ed02fae65a230576057bd6d2cbf38e5d26491479444cfc4ed6ec78549e615c5b8cf6d71ce762b31552bf7bfd1d348e228b1055
7
+ data.tar.gz: 30da66cc1abb37677768dab09d79f93c17df25a7d0a73e06dbfdcb51ce7bb3ea66af5962e97631a019a8119498f4b0ebdeaca46667cb8b2b3d3fe0a2bb63c254
@@ -0,0 +1,19 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: github-actions
9
+ directory: /
10
+ schedule:
11
+ interval: daily
12
+ - package-ecosystem: bundler
13
+ directory: /
14
+ schedule:
15
+ interval: weekly
16
+ - package-ecosystem: docker
17
+ directory: docker
18
+ schedule:
19
+ interval: weekly
@@ -23,7 +23,7 @@ jobs:
23
23
  steps:
24
24
  - id: get_version
25
25
  name: Get package version
26
- uses: actions/github-script@v3
26
+ uses: actions/github-script@v4.1
27
27
  with:
28
28
  github-token: ${{ secrets.GITHUB_TOKEN }}
29
29
  result-encoding: string
@@ -41,7 +41,7 @@ jobs:
41
41
 
42
42
  - id: get_url
43
43
  name: Get release upload url
44
- uses: actions/github-script@v3
44
+ uses: actions/github-script@v4.1
45
45
  with:
46
46
  github-token: ${{ secrets.GITHUB_TOKEN }}
47
47
  result-encoding: string
@@ -65,7 +65,7 @@ jobs:
65
65
 
66
66
  - id: get_ref
67
67
  name: Get checkout ref for custom build scripts
68
- uses: actions/github-script@v3
68
+ uses: actions/github-script@v4.1
69
69
  with:
70
70
  github-token: ${{ secrets.GITHUB_TOKEN }}
71
71
  result-encoding: string
@@ -210,4 +210,4 @@ jobs:
210
210
  gem push $GEM
211
211
  env:
212
212
  RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
213
- GEM: licensed-${{needs.vars.outputs.version}}.gem
213
+ GEM: licensed-${{needs.vars.outputs.version}}.gem
@@ -5,6 +5,7 @@ on: pull_request
5
5
  jobs:
6
6
  bower:
7
7
  runs-on: ubuntu-latest
8
+ needs: core
8
9
  steps:
9
10
  - uses: actions/checkout@v2
10
11
  - name: Setup node
@@ -18,10 +19,13 @@ jobs:
18
19
  with:
19
20
  ruby-version: 2.6
20
21
  - run: bundle lock
21
- - uses: actions/cache@v1
22
+ - uses: actions/cache@v2
23
+ name: cache gem dependencies
22
24
  with:
23
25
  path: vendor/gems
24
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
26
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
27
+ restore-keys: |
28
+ ${{ runner.os }}-gem-2.6-
25
29
  - name: Bootstrap
26
30
  run: script/bootstrap
27
31
  - name: Set up fixtures
@@ -31,9 +35,10 @@ jobs:
31
35
 
32
36
  bundler:
33
37
  runs-on: ubuntu-latest
38
+ needs: core
34
39
  strategy:
35
40
  matrix:
36
- bundler: [ '~> 1.15.0', '~> 1.16.0', '~> 1.17.0', '~> 2.0.0' ]
41
+ bundler: [ '~> 1.17.0', '~> 2.0.0', '~> 2.1.0', '~> 2.2.0' ]
37
42
  steps:
38
43
  - uses: actions/checkout@v2
39
44
  - name: Set up Ruby
@@ -45,10 +50,13 @@ jobs:
45
50
  yes | gem uninstall bundler --all
46
51
  gem install bundler -v "${{ matrix.bundler }}"
47
52
  - run: bundle lock
48
- - uses: actions/cache@v1
53
+ - uses: actions/cache@v2
54
+ name: cache gem dependencies
49
55
  with:
50
56
  path: vendor/gems
51
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
57
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
58
+ restore-keys: |
59
+ ${{ runner.os }}-gem-2.6-
52
60
  - name: Bootstrap
53
61
  run: script/bootstrap
54
62
  - name: Set up fixtures
@@ -58,10 +66,11 @@ jobs:
58
66
 
59
67
  cabal:
60
68
  runs-on: ubuntu-latest
69
+ needs: core
61
70
  strategy:
62
71
  matrix:
63
- ghc: [ '8.2', '8.6', '8.8', '8.10' ]
64
- cabal: [ '2.4', '3.0', '3.2' ]
72
+ ghc: [ '8.6', '8.8', '8.10', '9.0' ]
73
+ cabal: [ '3.0', '3.2', '3.4' ]
65
74
  steps:
66
75
  - uses: actions/checkout@v2
67
76
  - name: Set up Ruby
@@ -74,10 +83,22 @@ jobs:
74
83
  ghc-version: ${{ matrix.ghc }}
75
84
  cabal-version: ${{ matrix.cabal }}
76
85
  - run: bundle lock
77
- - uses: actions/cache@v1
86
+ - name: cache cabal dependencies
87
+ uses: actions/cache@v2
88
+ with:
89
+ path: |
90
+ ~/.cabal/packages
91
+ ~/.cabal/store
92
+ key: ${{ runner.os }}-cabal-${{ matrix.ghc }}-${{ hashFiles('**/app.cabal') }}
93
+ restore-keys: |
94
+ ${{ runner.os }}-cabal-
95
+ - uses: actions/cache@v2
96
+ name: cache gem dependencies
78
97
  with:
79
98
  path: vendor/gems
80
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
99
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
100
+ restore-keys: |
101
+ ${{ runner.os }}-gem-2.6-
81
102
  - name: Bootstrap
82
103
  run: script/bootstrap
83
104
  - name: Set up fixtures
@@ -87,13 +108,14 @@ jobs:
87
108
 
88
109
  composer:
89
110
  runs-on: ubuntu-latest
111
+ needs: core
90
112
  strategy:
91
113
  matrix:
92
- php: [ '7.3', '7.4' ]
114
+ php: [ '7.4', '8.0' ]
93
115
  steps:
94
116
  - uses: actions/checkout@v2
95
117
  - name: Setup php
96
- uses: nanasess/setup-php@v3.0.6
118
+ uses: nanasess/setup-php@v3.0.8
97
119
  with:
98
120
  php-version: ${{ matrix.php }}
99
121
  - name: Set up Ruby
@@ -101,10 +123,13 @@ jobs:
101
123
  with:
102
124
  ruby-version: 2.6
103
125
  - run: bundle lock
104
- - uses: actions/cache@v1
126
+ - uses: actions/cache@v2
127
+ name: cache gem dependencies
105
128
  with:
106
129
  path: vendor/gems
107
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
130
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
131
+ restore-keys: |
132
+ ${{ runner.os }}-gem-2.6-
108
133
  - name: Bootstrap
109
134
  run: script/bootstrap
110
135
  - name: Set up fixtures
@@ -116,7 +141,7 @@ jobs:
116
141
  runs-on: ubuntu-latest
117
142
  strategy:
118
143
  matrix:
119
- ruby: [ 2.5, 2.6, 2.7 ]
144
+ ruby: [ 2.6, 2.7, 3.0 ]
120
145
  steps:
121
146
  - uses: actions/checkout@v2
122
147
  - name: Set up Ruby
@@ -126,10 +151,13 @@ jobs:
126
151
  - name: Set up Bundler
127
152
  run: gem install bundler
128
153
  - run: bundle lock
129
- - uses: actions/cache@v1
154
+ - uses: actions/cache@v2
155
+ name: cache gem dependencies
130
156
  with:
131
157
  path: vendor/gems
132
158
  key: ${{ runner.os }}-gem-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
159
+ restore-keys: |
160
+ ${{ runner.os }}-gem-${{ matrix.ruby }}-
133
161
  - name: Bootstrap
134
162
  run: script/bootstrap
135
163
  - name: Build and lint
@@ -139,10 +167,11 @@ jobs:
139
167
 
140
168
  dep:
141
169
  runs-on: ubuntu-latest
170
+ needs: core
142
171
  steps:
143
172
  - uses: actions/checkout@v2
144
173
  - name: Setup go
145
- uses: actions/setup-go@v1
174
+ uses: actions/setup-go@v2
146
175
  with:
147
176
  go-version: 1.10.x
148
177
  - name: Set up Ruby
@@ -150,10 +179,13 @@ jobs:
150
179
  with:
151
180
  ruby-version: 2.6
152
181
  - run: bundle lock
153
- - uses: actions/cache@v1
182
+ - uses: actions/cache@v2
183
+ name: cache gem dependencies
154
184
  with:
155
185
  path: vendor/gems
156
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
186
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
187
+ restore-keys: |
188
+ ${{ runner.os }}-gem-2.6-
157
189
  - name: Bootstrap
158
190
  run: script/bootstrap
159
191
  - name: Set up fixtures
@@ -163,13 +195,14 @@ jobs:
163
195
 
164
196
  go:
165
197
  runs-on: ubuntu-latest
198
+ needs: core
166
199
  strategy:
167
200
  matrix:
168
- go: [ '1.10.x', '1.11.x', '1.12.x', '1.13.x', '1.14.x', '1.15.x' ]
201
+ go: [ '1.12.x', '1.13.x', '1.14.x', '1.15.x', '1.16.x' ]
169
202
  steps:
170
203
  - uses: actions/checkout@v2
171
204
  - name: Setup go
172
- uses: actions/setup-go@v1
205
+ uses: actions/setup-go@v2
173
206
  with:
174
207
  go-version: ${{ matrix.go }}
175
208
  - name: Set up Ruby
@@ -177,19 +210,41 @@ jobs:
177
210
  with:
178
211
  ruby-version: 2.6
179
212
  - run: bundle lock
180
- - uses: actions/cache@v1
213
+ - uses: actions/cache@v2
214
+ name: cache go dependencies
215
+ with:
216
+ path: |
217
+ ~/.cache/go-build
218
+ ~/go/pkg/mod
219
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
220
+ restore-keys: |
221
+ ${{ runner.os }}-go-
222
+ - uses: actions/cache@v2
223
+ name: cache gem dependencies
181
224
  with:
182
225
  path: vendor/gems
183
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
226
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
227
+ restore-keys: |
228
+ ${{ runner.os }}-gem-2.6-
184
229
  - name: Bootstrap
185
230
  run: script/bootstrap
186
231
  - name: Set up fixtures
187
232
  run: script/source-setup/go
188
233
  - name: Run tests
189
234
  run: script/test go
235
+ env:
236
+ GO111MODULE: "on"
190
237
 
191
238
  gradle:
192
239
  runs-on: ubuntu-latest
240
+ needs: core
241
+ strategy:
242
+ matrix:
243
+ # TODO: the reporting plugin used to gather data is not yet fully compatible with
244
+ # gradle 7, which is needed for compatibility with Java 16. after compatibility issues
245
+ # are resolved, update this matrix list with '16'.
246
+ # possibly fixed by https://github.com/jk1/Gradle-License-Report/pull/166
247
+ java: [ '11' ]
193
248
  steps:
194
249
  - uses: actions/checkout@v2
195
250
  - name: Set up Ruby
@@ -197,10 +252,27 @@ jobs:
197
252
  with:
198
253
  ruby-version: 2.6
199
254
  - run: bundle lock
200
- - uses: actions/cache@v1
255
+ - name: Set up Java
256
+ uses: actions/setup-java@v2
257
+ with:
258
+ java-version: ${{ matrix.java }}
259
+ distribution: adopt
260
+ - uses: actions/cache@v2
261
+ name: cache gradle dependencies
262
+ with:
263
+ path: |
264
+ ~/.gradle/caches
265
+ ~/.gradle/wrapper
266
+ key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
267
+ restore-keys: |
268
+ ${{ runner.os }}-gradle-
269
+ - uses: actions/cache@v2
270
+ name: cache gem dependencies
201
271
  with:
202
272
  path: vendor/gems
203
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
273
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
274
+ restore-keys: |
275
+ ${{ runner.os }}-gem-2.6-
204
276
  - name: Bootstrap
205
277
  run: script/bootstrap
206
278
  - name: Gradle version
@@ -210,6 +282,7 @@ jobs:
210
282
 
211
283
  manifest:
212
284
  runs-on: ubuntu-latest
285
+ needs: core
213
286
  steps:
214
287
  - uses: actions/checkout@v2
215
288
  - name: Set up Ruby
@@ -217,10 +290,13 @@ jobs:
217
290
  with:
218
291
  ruby-version: 2.6
219
292
  - run: bundle lock
220
- - uses: actions/cache@v1
293
+ - uses: actions/cache@v2
294
+ name: cache gem dependencies
221
295
  with:
222
296
  path: vendor/gems
223
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
297
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
298
+ restore-keys: |
299
+ ${{ runner.os }}-gem-2.6-
224
300
  - name: Bootstrap
225
301
  run: script/bootstrap
226
302
  - name: Run tests
@@ -228,13 +304,14 @@ jobs:
228
304
 
229
305
  mix:
230
306
  runs-on: ubuntu-latest
307
+ needs: core
231
308
  strategy:
232
309
  matrix:
233
- otp: [21.x, 22.x, 23.x]
234
- elixir: [ 1.10.x, 1.11.x ]
310
+ otp: [22.x, 23.x, 24.x]
311
+ elixir: [ 1.11.x, 1.12.x ]
235
312
  steps:
236
313
  - uses: actions/checkout@v2
237
- - uses: erlef/setup-elixir@v1.6.0
314
+ - uses: erlef/setup-elixir@v1.9
238
315
  with:
239
316
  otp-version: ${{matrix.otp}}
240
317
  elixir-version: ${{matrix.elixir}}
@@ -243,10 +320,13 @@ jobs:
243
320
  with:
244
321
  ruby-version: 2.6
245
322
  - run: bundle lock
246
- - uses: actions/cache@v1
323
+ - uses: actions/cache@v2
324
+ name: cache gem dependencies
247
325
  with:
248
326
  path: vendor/gems
249
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
327
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
328
+ restore-keys: |
329
+ ${{ runner.os }}-gem-2.6-
250
330
  - name: Bootstrap
251
331
  run: script/bootstrap
252
332
  - name: Set up fixtures
@@ -256,9 +336,10 @@ jobs:
256
336
 
257
337
  npm:
258
338
  runs-on: ubuntu-latest
339
+ needs: core
259
340
  strategy:
260
341
  matrix:
261
- node_version: [ 10, 12, 14, 15 ]
342
+ node_version: [ 12, 14, 16 ]
262
343
  steps:
263
344
  - uses: actions/checkout@v2
264
345
  - name: Setup node
@@ -270,10 +351,13 @@ jobs:
270
351
  with:
271
352
  ruby-version: 2.6
272
353
  - run: bundle lock
273
- - uses: actions/cache@v1
354
+ - uses: actions/cache@v2
355
+ name: cache gem dependencies
274
356
  with:
275
357
  path: vendor/gems
276
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
358
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
359
+ restore-keys: |
360
+ ${{ runner.os }}-gem-2.6-
277
361
  - name: Bootstrap
278
362
  run: script/bootstrap
279
363
  - name: Set up fixtures
@@ -283,21 +367,28 @@ jobs:
283
367
 
284
368
  nuget:
285
369
  runs-on: ubuntu-latest
370
+ needs: core
371
+ strategy:
372
+ matrix:
373
+ dotnet: [ '3.1.x', '5.x' ]
286
374
  steps:
287
375
  - uses: actions/checkout@v2
288
376
  - name: Setup dotnet
289
377
  uses: actions/setup-dotnet@v1
290
378
  with:
291
- dotnet-version: 3.1.202
379
+ dotnet-version: ${{ matrix.dotnet }}
292
380
  - name: Set up Ruby
293
381
  uses: ruby/setup-ruby@v1
294
382
  with:
295
383
  ruby-version: 2.6
296
384
  - run: bundle lock
297
- - uses: actions/cache@v1
385
+ - uses: actions/cache@v2
386
+ name: cache gem dependencies
298
387
  with:
299
388
  path: vendor/gems
300
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
389
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
390
+ restore-keys: |
391
+ ${{ runner.os }}-gem-2.6-
301
392
  - name: Bootstrap
302
393
  run: script/bootstrap
303
394
  - name: Set up fixtures
@@ -307,13 +398,14 @@ jobs:
307
398
 
308
399
  pip:
309
400
  runs-on: ubuntu-latest
401
+ needs: core
310
402
  strategy:
311
403
  matrix:
312
- python: [ '2.x', '3.x' ]
404
+ python: [ '3.6', '3.7', '3.8', '3.9' ]
313
405
  steps:
314
406
  - uses: actions/checkout@v2
315
407
  - name: Setup python
316
- uses: actions/setup-python@v1
408
+ uses: actions/setup-python@v2
317
409
  with:
318
410
  python-version: ${{ matrix.python }}
319
411
  architecture: x64
@@ -322,10 +414,20 @@ jobs:
322
414
  with:
323
415
  ruby-version: 2.6
324
416
  - run: bundle lock
325
- - uses: actions/cache@v1
417
+ - uses: actions/cache@v2
418
+ name: cache pip dependencies
419
+ with:
420
+ path: ~/.cache/pip
421
+ key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
422
+ restore-keys: |
423
+ ${{ runner.os }}-pip-
424
+ - uses: actions/cache@v2
425
+ name: cache gem dependencies
326
426
  with:
327
427
  path: vendor/gems
328
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
428
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
429
+ restore-keys: |
430
+ ${{ runner.os }}-gem-2.6-
329
431
  - name: Bootstrap
330
432
  run: script/bootstrap
331
433
  - name: Install virtualenv
@@ -337,10 +439,11 @@ jobs:
337
439
 
338
440
  pipenv:
339
441
  runs-on: ubuntu-latest
442
+ needs: core
340
443
  steps:
341
444
  - uses: actions/checkout@v2
342
445
  - name: Setup python
343
- uses: actions/setup-python@v1
446
+ uses: actions/setup-python@v2
344
447
  with:
345
448
  python-version: '3.x'
346
449
  architecture: x64
@@ -349,10 +452,13 @@ jobs:
349
452
  with:
350
453
  ruby-version: 2.6
351
454
  - run: bundle lock
352
- - uses: actions/cache@v1
455
+ - uses: actions/cache@v2
456
+ name: cache gem dependencies
353
457
  with:
354
458
  path: vendor/gems
355
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
459
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
460
+ restore-keys: |
461
+ ${{ runner.os }}-gem-2.6-
356
462
  - name: Bootstrap
357
463
  run: script/bootstrap
358
464
  - name: Install pipenv
@@ -364,6 +470,7 @@ jobs:
364
470
 
365
471
  swift:
366
472
  runs-on: ubuntu-latest
473
+ needs: core
367
474
  strategy:
368
475
  matrix:
369
476
  swift: [ "5.4", "5.3" ]
@@ -378,10 +485,20 @@ jobs:
378
485
  with:
379
486
  ruby-version: 2.6
380
487
  - run: bundle lock
381
- - uses: actions/cache@v1
488
+ - uses: actions/cache@v2
489
+ name: cache spm dependencies
490
+ with:
491
+ path: .build
492
+ key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
493
+ restore-keys: |
494
+ ${{ runner.os }}-spm-
495
+ - uses: actions/cache@v2
496
+ name: cache gem dependencies
382
497
  with:
383
498
  path: vendor/gems
384
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
499
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
500
+ restore-keys: |
501
+ ${{ runner.os }}-gem-2.6-
385
502
  - name: Bootstrap
386
503
  run: script/bootstrap
387
504
  - name: Set up fixtures
@@ -391,6 +508,7 @@ jobs:
391
508
 
392
509
  yarn:
393
510
  runs-on: ubuntu-latest
511
+ needs: core
394
512
  strategy:
395
513
  matrix:
396
514
  # not using 1.0.0 because it doesn't support `yarn list --production`
@@ -410,10 +528,13 @@ jobs:
410
528
  with:
411
529
  ruby-version: 2.6
412
530
  - run: bundle lock
413
- - uses: actions/cache@v1
531
+ - uses: actions/cache@v2
532
+ name: cache gem dependencies
414
533
  with:
415
534
  path: vendor/gems
416
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
535
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
536
+ restore-keys: |
537
+ ${{ runner.os }}-gem-2.6-
417
538
  - name: Bootstrap
418
539
  run: script/bootstrap
419
540
  - name: Set up fixtures