licensed 3.0.1 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) 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 +180 -47
  5. data/.ruby-version +1 -1
  6. data/CHANGELOG.md +60 -1
  7. data/README.md +25 -79
  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 -161
  29. data/docs/sources/swift.md +4 -0
  30. data/lib/licensed/cli.rb +2 -2
  31. data/lib/licensed/commands/cache.rb +19 -20
  32. data/lib/licensed/commands/command.rb +104 -72
  33. data/lib/licensed/commands/environment.rb +12 -11
  34. data/lib/licensed/commands/list.rb +0 -19
  35. data/lib/licensed/commands/notices.rb +0 -19
  36. data/lib/licensed/commands/status.rb +13 -15
  37. data/lib/licensed/configuration.rb +105 -12
  38. data/lib/licensed/report.rb +44 -0
  39. data/lib/licensed/reporters/cache_reporter.rb +48 -64
  40. data/lib/licensed/reporters/json_reporter.rb +19 -21
  41. data/lib/licensed/reporters/list_reporter.rb +45 -58
  42. data/lib/licensed/reporters/notices_reporter.rb +33 -46
  43. data/lib/licensed/reporters/reporter.rb +37 -104
  44. data/lib/licensed/reporters/status_reporter.rb +58 -56
  45. data/lib/licensed/reporters/yaml_reporter.rb +19 -21
  46. data/lib/licensed/sources/bundler/definition.rb +36 -0
  47. data/lib/licensed/sources/bundler/missing_specification.rb +1 -1
  48. data/lib/licensed/sources/bundler.rb +38 -69
  49. data/lib/licensed/sources/dep.rb +2 -2
  50. data/lib/licensed/sources/go.rb +3 -3
  51. data/lib/licensed/sources/gradle.rb +2 -2
  52. data/lib/licensed/sources/helpers/content_versioning.rb +2 -1
  53. data/lib/licensed/sources/npm.rb +4 -3
  54. data/lib/licensed/sources/nuget.rb +56 -27
  55. data/lib/licensed/sources/swift.rb +69 -0
  56. data/lib/licensed/sources.rb +1 -0
  57. data/lib/licensed/version.rb +1 -1
  58. data/lib/licensed.rb +1 -0
  59. data/licensed.gemspec +4 -4
  60. data/script/source-setup/go +1 -1
  61. data/script/source-setup/swift +22 -0
  62. metadata +48 -13
  63. data/docs/commands.md +0 -95
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8e24e2f900732197c5d4b91212a7477dd7ab68a61892e0ea56ae1a99f4c29e6
4
- data.tar.gz: 19c679898ccab8f60d219d739c18a14b849cdd87ad04608b24dcf1ea67613f82
3
+ metadata.gz: 7ed29bbc7c7c643bf2eda9aacca1d64bd5ccb6e9211e4eeda006c33ec1fe3900
4
+ data.tar.gz: eeefafd3638220b419d57353947ab74a17bc5504fca50562a2d63baf0562e485
5
5
  SHA512:
6
- metadata.gz: 171905b06dca655364341c888c5e8845e6dff8d163ffb009f28de624e4d14d399c7add250d80ebb7391b4c94316c8a3c9bbae7bdfb7b219996a8415f463b7a5c
7
- data.tar.gz: 054fc3dd7ccb7e3a92b6585e757b85efd0880b1b9c3fa93855ba50ba79d0c7727d707a76d30f588a94b9f7bb1dd0d6bc6f3959e40bf96685f5dda5ea1a7d127f
6
+ metadata.gz: 9d54389571ce81aadee0c3a46871f38c8c87768d86abd8c1ef50978378d23d4a17524c4188de8f306f4156a2b0ae670a5e437279aa458113b89e311919296332
7
+ data.tar.gz: 3a93838012493a51fd430815d42fa7b3b52ba85ea2513a879517a437e00af05d47f7325cfdeac2440adf299f05af0b0fbf2b0a16bb4b34caa81db4becc632808
@@ -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
@@ -18,10 +18,13 @@ jobs:
18
18
  with:
19
19
  ruby-version: 2.6
20
20
  - run: bundle lock
21
- - uses: actions/cache@v1
21
+ - uses: actions/cache@v2
22
+ name: cache gem dependencies
22
23
  with:
23
24
  path: vendor/gems
24
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
25
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
26
+ restore-keys: |
27
+ ${{ runner.os }}-gem-2.6-
25
28
  - name: Bootstrap
26
29
  run: script/bootstrap
27
30
  - name: Set up fixtures
@@ -33,7 +36,7 @@ jobs:
33
36
  runs-on: ubuntu-latest
34
37
  strategy:
35
38
  matrix:
36
- bundler: [ '~> 1.15.0', '~> 1.16.0', '~> 1.17.0', '~> 2.0.0' ]
39
+ bundler: [ '~> 1.17.0', '~> 2.0.0', '~> 2.1.0', '~> 2.2.0' ]
37
40
  steps:
38
41
  - uses: actions/checkout@v2
39
42
  - name: Set up Ruby
@@ -45,10 +48,13 @@ jobs:
45
48
  yes | gem uninstall bundler --all
46
49
  gem install bundler -v "${{ matrix.bundler }}"
47
50
  - run: bundle lock
48
- - uses: actions/cache@v1
51
+ - uses: actions/cache@v2
52
+ name: cache gem dependencies
49
53
  with:
50
54
  path: vendor/gems
51
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
55
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
56
+ restore-keys: |
57
+ ${{ runner.os }}-gem-2.6-
52
58
  - name: Bootstrap
53
59
  run: script/bootstrap
54
60
  - name: Set up fixtures
@@ -60,8 +66,8 @@ jobs:
60
66
  runs-on: ubuntu-latest
61
67
  strategy:
62
68
  matrix:
63
- ghc: [ '8.2', '8.6', '8.8', '8.10' ]
64
- cabal: [ '2.4', '3.0', '3.2' ]
69
+ ghc: [ '8.6', '8.8', '8.10', '9.0' ]
70
+ cabal: [ '3.0', '3.2', '3.4' ]
65
71
  steps:
66
72
  - uses: actions/checkout@v2
67
73
  - name: Set up Ruby
@@ -74,10 +80,22 @@ jobs:
74
80
  ghc-version: ${{ matrix.ghc }}
75
81
  cabal-version: ${{ matrix.cabal }}
76
82
  - run: bundle lock
77
- - uses: actions/cache@v1
83
+ - name: cache cabal dependencies
84
+ uses: actions/cache@v2
85
+ with:
86
+ path: |
87
+ ~/.cabal/packages
88
+ ~/.cabal/store
89
+ key: ${{ runner.os }}-cabal-${{ matrix.ghc }}-${{ hashFiles('**/app.cabal') }}
90
+ restore-keys: |
91
+ ${{ runner.os }}-cabal-
92
+ - uses: actions/cache@v2
93
+ name: cache gem dependencies
78
94
  with:
79
95
  path: vendor/gems
80
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
96
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
97
+ restore-keys: |
98
+ ${{ runner.os }}-gem-2.6-
81
99
  - name: Bootstrap
82
100
  run: script/bootstrap
83
101
  - name: Set up fixtures
@@ -89,11 +107,11 @@ jobs:
89
107
  runs-on: ubuntu-latest
90
108
  strategy:
91
109
  matrix:
92
- php: [ '7.3', '7.4' ]
110
+ php: [ '7.4', '8.0' ]
93
111
  steps:
94
112
  - uses: actions/checkout@v2
95
113
  - name: Setup php
96
- uses: nanasess/setup-php@v3.0.6
114
+ uses: nanasess/setup-php@v3.0.8
97
115
  with:
98
116
  php-version: ${{ matrix.php }}
99
117
  - name: Set up Ruby
@@ -101,10 +119,13 @@ jobs:
101
119
  with:
102
120
  ruby-version: 2.6
103
121
  - run: bundle lock
104
- - uses: actions/cache@v1
122
+ - uses: actions/cache@v2
123
+ name: cache gem dependencies
105
124
  with:
106
125
  path: vendor/gems
107
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
126
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
127
+ restore-keys: |
128
+ ${{ runner.os }}-gem-2.6-
108
129
  - name: Bootstrap
109
130
  run: script/bootstrap
110
131
  - name: Set up fixtures
@@ -116,7 +137,7 @@ jobs:
116
137
  runs-on: ubuntu-latest
117
138
  strategy:
118
139
  matrix:
119
- ruby: [ 2.5, 2.6, 2.7 ]
140
+ ruby: [ 2.6, 2.7, 3.0 ]
120
141
  steps:
121
142
  - uses: actions/checkout@v2
122
143
  - name: Set up Ruby
@@ -126,10 +147,13 @@ jobs:
126
147
  - name: Set up Bundler
127
148
  run: gem install bundler
128
149
  - run: bundle lock
129
- - uses: actions/cache@v1
150
+ - uses: actions/cache@v2
151
+ name: cache gem dependencies
130
152
  with:
131
153
  path: vendor/gems
132
154
  key: ${{ runner.os }}-gem-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
155
+ restore-keys: |
156
+ ${{ runner.os }}-gem-${{ matrix.ruby }}-
133
157
  - name: Bootstrap
134
158
  run: script/bootstrap
135
159
  - name: Build and lint
@@ -142,7 +166,7 @@ jobs:
142
166
  steps:
143
167
  - uses: actions/checkout@v2
144
168
  - name: Setup go
145
- uses: actions/setup-go@v1
169
+ uses: actions/setup-go@v2
146
170
  with:
147
171
  go-version: 1.10.x
148
172
  - name: Set up Ruby
@@ -150,10 +174,13 @@ jobs:
150
174
  with:
151
175
  ruby-version: 2.6
152
176
  - run: bundle lock
153
- - uses: actions/cache@v1
177
+ - uses: actions/cache@v2
178
+ name: cache gem dependencies
154
179
  with:
155
180
  path: vendor/gems
156
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
181
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
182
+ restore-keys: |
183
+ ${{ runner.os }}-gem-2.6-
157
184
  - name: Bootstrap
158
185
  run: script/bootstrap
159
186
  - name: Set up fixtures
@@ -165,11 +192,11 @@ jobs:
165
192
  runs-on: ubuntu-latest
166
193
  strategy:
167
194
  matrix:
168
- go: [ '1.10.x', '1.11.x', '1.12.x', '1.13.x', '1.14.x', '1.15.x' ]
195
+ go: [ '1.12.x', '1.13.x', '1.14.x', '1.15.x', '1.16.x' ]
169
196
  steps:
170
197
  - uses: actions/checkout@v2
171
198
  - name: Setup go
172
- uses: actions/setup-go@v1
199
+ uses: actions/setup-go@v2
173
200
  with:
174
201
  go-version: ${{ matrix.go }}
175
202
  - name: Set up Ruby
@@ -177,19 +204,40 @@ jobs:
177
204
  with:
178
205
  ruby-version: 2.6
179
206
  - run: bundle lock
180
- - uses: actions/cache@v1
207
+ - uses: actions/cache@v2
208
+ name: cache go dependencies
209
+ with:
210
+ path: |
211
+ ~/.cache/go-build
212
+ ~/go/pkg/mod
213
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
214
+ restore-keys: |
215
+ ${{ runner.os }}-go-
216
+ - uses: actions/cache@v2
217
+ name: cache gem dependencies
181
218
  with:
182
219
  path: vendor/gems
183
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
220
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
221
+ restore-keys: |
222
+ ${{ runner.os }}-gem-2.6-
184
223
  - name: Bootstrap
185
224
  run: script/bootstrap
186
225
  - name: Set up fixtures
187
226
  run: script/source-setup/go
188
227
  - name: Run tests
189
228
  run: script/test go
229
+ env:
230
+ GO111MODULE: "on"
190
231
 
191
232
  gradle:
192
233
  runs-on: ubuntu-latest
234
+ strategy:
235
+ matrix:
236
+ # TODO: the reporting plugin used to gather data is not yet fully compatible with
237
+ # gradle 7, which is needed for compatibility with Java 16. after compatibility issues
238
+ # are resolved, update this matrix list with '16'.
239
+ # possibly fixed by https://github.com/jk1/Gradle-License-Report/pull/166
240
+ java: [ '11' ]
193
241
  steps:
194
242
  - uses: actions/checkout@v2
195
243
  - name: Set up Ruby
@@ -197,10 +245,27 @@ jobs:
197
245
  with:
198
246
  ruby-version: 2.6
199
247
  - run: bundle lock
200
- - uses: actions/cache@v1
248
+ - name: Set up Java
249
+ uses: actions/setup-java@v2
250
+ with:
251
+ java-version: ${{ matrix.java }}
252
+ distribution: adopt
253
+ - uses: actions/cache@v2
254
+ name: cache gradle dependencies
255
+ with:
256
+ path: |
257
+ ~/.gradle/caches
258
+ ~/.gradle/wrapper
259
+ key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
260
+ restore-keys: |
261
+ ${{ runner.os }}-gradle-
262
+ - uses: actions/cache@v2
263
+ name: cache gem dependencies
201
264
  with:
202
265
  path: vendor/gems
203
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
266
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
267
+ restore-keys: |
268
+ ${{ runner.os }}-gem-2.6-
204
269
  - name: Bootstrap
205
270
  run: script/bootstrap
206
271
  - name: Gradle version
@@ -217,10 +282,13 @@ jobs:
217
282
  with:
218
283
  ruby-version: 2.6
219
284
  - run: bundle lock
220
- - uses: actions/cache@v1
285
+ - uses: actions/cache@v2
286
+ name: cache gem dependencies
221
287
  with:
222
288
  path: vendor/gems
223
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
289
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
290
+ restore-keys: |
291
+ ${{ runner.os }}-gem-2.6-
224
292
  - name: Bootstrap
225
293
  run: script/bootstrap
226
294
  - name: Run tests
@@ -230,11 +298,11 @@ jobs:
230
298
  runs-on: ubuntu-latest
231
299
  strategy:
232
300
  matrix:
233
- otp: [21.x, 22.x, 23.x]
234
- elixir: [ 1.10.x, 1.11.x ]
301
+ otp: [22.x, 23.x, 24.x]
302
+ elixir: [ 1.11.x, 1.12.x ]
235
303
  steps:
236
304
  - uses: actions/checkout@v2
237
- - uses: erlef/setup-elixir@v1.6.0
305
+ - uses: erlef/setup-elixir@v1.9
238
306
  with:
239
307
  otp-version: ${{matrix.otp}}
240
308
  elixir-version: ${{matrix.elixir}}
@@ -243,10 +311,13 @@ jobs:
243
311
  with:
244
312
  ruby-version: 2.6
245
313
  - run: bundle lock
246
- - uses: actions/cache@v1
314
+ - uses: actions/cache@v2
315
+ name: cache gem dependencies
247
316
  with:
248
317
  path: vendor/gems
249
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
318
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
319
+ restore-keys: |
320
+ ${{ runner.os }}-gem-2.6-
250
321
  - name: Bootstrap
251
322
  run: script/bootstrap
252
323
  - name: Set up fixtures
@@ -258,7 +329,7 @@ jobs:
258
329
  runs-on: ubuntu-latest
259
330
  strategy:
260
331
  matrix:
261
- node_version: [ 10, 12, 14, 15 ]
332
+ node_version: [ 12, 14, 16 ]
262
333
  steps:
263
334
  - uses: actions/checkout@v2
264
335
  - name: Setup node
@@ -270,10 +341,13 @@ jobs:
270
341
  with:
271
342
  ruby-version: 2.6
272
343
  - run: bundle lock
273
- - uses: actions/cache@v1
344
+ - uses: actions/cache@v2
345
+ name: cache gem dependencies
274
346
  with:
275
347
  path: vendor/gems
276
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
348
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
349
+ restore-keys: |
350
+ ${{ runner.os }}-gem-2.6-
277
351
  - name: Bootstrap
278
352
  run: script/bootstrap
279
353
  - name: Set up fixtures
@@ -283,21 +357,27 @@ jobs:
283
357
 
284
358
  nuget:
285
359
  runs-on: ubuntu-latest
360
+ strategy:
361
+ matrix:
362
+ dotnet: [ '3.1.x', '5.x' ]
286
363
  steps:
287
364
  - uses: actions/checkout@v2
288
365
  - name: Setup dotnet
289
366
  uses: actions/setup-dotnet@v1
290
367
  with:
291
- dotnet-version: 3.1.202
368
+ dotnet-version: ${{ matrix.dotnet }}
292
369
  - name: Set up Ruby
293
370
  uses: ruby/setup-ruby@v1
294
371
  with:
295
372
  ruby-version: 2.6
296
373
  - run: bundle lock
297
- - uses: actions/cache@v1
374
+ - uses: actions/cache@v2
375
+ name: cache gem dependencies
298
376
  with:
299
377
  path: vendor/gems
300
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
378
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
379
+ restore-keys: |
380
+ ${{ runner.os }}-gem-2.6-
301
381
  - name: Bootstrap
302
382
  run: script/bootstrap
303
383
  - name: Set up fixtures
@@ -309,11 +389,11 @@ jobs:
309
389
  runs-on: ubuntu-latest
310
390
  strategy:
311
391
  matrix:
312
- python: [ '2.x', '3.x' ]
392
+ python: [ '3.6', '3.7', '3.8', '3.9' ]
313
393
  steps:
314
394
  - uses: actions/checkout@v2
315
395
  - name: Setup python
316
- uses: actions/setup-python@v1
396
+ uses: actions/setup-python@v2
317
397
  with:
318
398
  python-version: ${{ matrix.python }}
319
399
  architecture: x64
@@ -322,10 +402,20 @@ jobs:
322
402
  with:
323
403
  ruby-version: 2.6
324
404
  - run: bundle lock
325
- - uses: actions/cache@v1
405
+ - uses: actions/cache@v2
406
+ name: cache pip dependencies
407
+ with:
408
+ path: ~/.cache/pip
409
+ key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
410
+ restore-keys: |
411
+ ${{ runner.os }}-pip-
412
+ - uses: actions/cache@v2
413
+ name: cache gem dependencies
326
414
  with:
327
415
  path: vendor/gems
328
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
416
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
417
+ restore-keys: |
418
+ ${{ runner.os }}-gem-2.6-
329
419
  - name: Bootstrap
330
420
  run: script/bootstrap
331
421
  - name: Install virtualenv
@@ -340,7 +430,7 @@ jobs:
340
430
  steps:
341
431
  - uses: actions/checkout@v2
342
432
  - name: Setup python
343
- uses: actions/setup-python@v1
433
+ uses: actions/setup-python@v2
344
434
  with:
345
435
  python-version: '3.x'
346
436
  architecture: x64
@@ -349,10 +439,13 @@ jobs:
349
439
  with:
350
440
  ruby-version: 2.6
351
441
  - run: bundle lock
352
- - uses: actions/cache@v1
442
+ - uses: actions/cache@v2
443
+ name: cache gem dependencies
353
444
  with:
354
445
  path: vendor/gems
355
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
446
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
447
+ restore-keys: |
448
+ ${{ runner.os }}-gem-2.6-
356
449
  - name: Bootstrap
357
450
  run: script/bootstrap
358
451
  - name: Install pipenv
@@ -362,6 +455,43 @@ jobs:
362
455
  - name: Run tests
363
456
  run: script/test pipenv
364
457
 
458
+ swift:
459
+ runs-on: ubuntu-latest
460
+ strategy:
461
+ matrix:
462
+ swift: [ "5.4", "5.3" ]
463
+ steps:
464
+ - uses: actions/checkout@v2
465
+ - name: Setup Swift
466
+ uses: fwal/setup-swift@v1
467
+ with:
468
+ swift-version: ${{ matrix.swift }}
469
+ - name: Set up Ruby
470
+ uses: ruby/setup-ruby@v1
471
+ with:
472
+ ruby-version: 2.6
473
+ - run: bundle lock
474
+ - uses: actions/cache@v2
475
+ name: cache spm dependencies
476
+ with:
477
+ path: .build
478
+ key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
479
+ restore-keys: |
480
+ ${{ runner.os }}-spm-
481
+ - uses: actions/cache@v2
482
+ name: cache gem dependencies
483
+ with:
484
+ path: vendor/gems
485
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
486
+ restore-keys: |
487
+ ${{ runner.os }}-gem-2.6-
488
+ - name: Bootstrap
489
+ run: script/bootstrap
490
+ - name: Set up fixtures
491
+ run: script/source-setup/swift
492
+ - name: Run tests
493
+ run: script/test swift
494
+
365
495
  yarn:
366
496
  runs-on: ubuntu-latest
367
497
  strategy:
@@ -383,13 +513,16 @@ jobs:
383
513
  with:
384
514
  ruby-version: 2.6
385
515
  - run: bundle lock
386
- - uses: actions/cache@v1
516
+ - uses: actions/cache@v2
517
+ name: cache gem dependencies
387
518
  with:
388
519
  path: vendor/gems
389
- key: ${{ runner.os }}-gem-2.6.x-${{ hashFiles('**/Gemfile.lock') }}
520
+ key: ${{ runner.os }}-gem-2.6-${{ hashFiles('**/Gemfile.lock') }}
521
+ restore-keys: |
522
+ ${{ runner.os }}-gem-2.6-
390
523
  - name: Bootstrap
391
524
  run: script/bootstrap
392
525
  - name: Set up fixtures
393
526
  run: script/source-setup/yarn
394
527
  - name: Run tests
395
- run: script/test yarn
528
+ run: script/test yarn