licensed 3.1.0 → 3.2.3

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.
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