fontist 1.14.0 → 1.14.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2c0b58f3af1125a6a560179502a5ce5845e76b4d4db1c466e5f63f9628203089
4
- data.tar.gz: 2176708c4c71239768f8714cf21d393aae208b8a7757402b08ad369ec155ed25
3
+ metadata.gz: 9061a709e73b5612e94dfb837e10408cacd2d9ad1726b2d772c0b78de6daad02
4
+ data.tar.gz: fed88c613b73470fce728338c77f98b7901614ffbf1b2863a6da66c0c873f169
5
5
  SHA512:
6
- metadata.gz: c3875e506d599cfab2e7447e7a9f24518080a02f8bce0018f386b06c13a5048a78ce2e8fa61a4109e60e7445bb10164e84d45d33bcc109b4087ca3a2eeedac49
7
- data.tar.gz: 61747670abc9194cba651cb01d5a69d46bbdc84ed99f9de50e0057606a24f2b2efb2b2df782d6cf9b3b99d1c678e33f20d665157655de460e9227075b3a28a0b
6
+ metadata.gz: d93f552671890e67120fb622b8805b2e14822d043c1b0fa9d560264564fdee25e66c2f5bfb628ce273ac2e7f970165486715bfc8de741f3131e3e937ed6f955d
7
+ data.tar.gz: 1206ffb6a85f80d363693bcb728440e1e6f64a16b30ec8cdf47de99e07d6148148ac3e954ca3e7d5def43c51af4897f36039eb8065184cc5056ec8d85e696e25
@@ -5,6 +5,10 @@ on:
5
5
  branches: [ main ]
6
6
  pull_request:
7
7
 
8
+ concurrency:
9
+ group: '${{ github.workflow }}-${{ github.job }}-${{ github.head_ref || github.ref_name }}'
10
+ cancel-in-progress: true
11
+
8
12
  jobs:
9
13
  test:
10
14
  name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
@@ -13,11 +17,11 @@ jobs:
13
17
  strategy:
14
18
  fail-fast: false
15
19
  matrix:
16
- ruby: [ '2.6', '2.7', '3.0' ]
20
+ ruby: [ '2.7', '3.0', '3.1' ]
17
21
  os: [ ubuntu-latest, windows-latest, macos-latest ]
18
22
  experimental: [ true ]
19
23
  steps:
20
- - uses: actions/checkout@master
24
+ - uses: actions/checkout@v3
21
25
  with:
22
26
  repository: metanorma/metanorma
23
27
 
@@ -27,7 +31,15 @@ jobs:
27
31
 
28
32
  - run: 'echo ''gem "fontist", path: "./fontist"'' > Gemfile.devel'
29
33
 
30
- - uses: ruby/setup-ruby@v1
34
+ - if: matrix.ruby == '3.0'
35
+ uses: ruby/setup-ruby@v1
36
+ with:
37
+ ruby-version: ${{ matrix.ruby }}
38
+ bundler-cache: true
39
+ rubygems: latest
40
+
41
+ - if: matrix.ruby != '3.0'
42
+ uses: ruby/setup-ruby@v1
31
43
  with:
32
44
  ruby-version: ${{ matrix.ruby }}
33
45
  bundler-cache: true
@@ -0,0 +1,55 @@
1
+ name: test-and-release
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ tags: [ 'v*' ]
7
+ pull_request:
8
+
9
+ concurrency:
10
+ group: '${{ github.workflow }}-${{ github.job }}-${{ github.head_ref || github.ref_name }}'
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ test:
15
+ name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
16
+ runs-on: ${{ matrix.os }}
17
+ continue-on-error: ${{ contains(matrix.os, 'ubuntu') || matrix.ruby == '3.1' }}
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ ruby: [ '2.6', '2.7', '3.0', '3.1' ]
22
+ os: [ ubuntu-18.04, ubuntu-latest, windows-latest, macos-latest ]
23
+
24
+ steps:
25
+ - uses: actions/checkout@v3
26
+
27
+ - uses: ruby/setup-ruby@v1
28
+ with:
29
+ ruby-version: ${{ matrix.ruby }}
30
+ bundler-cache: true
31
+
32
+ - if: matrix.os == 'macos-latest'
33
+ run: brew install lcdf-typetools
34
+
35
+ - if: matrix.os == 'macos-latest'
36
+ run: bundle exec rspec
37
+ env:
38
+ TEST_ENV: CI
39
+
40
+ - if: matrix.os != 'macos-latest'
41
+ run: bundle exec rspec --tag ~dev
42
+ env:
43
+ TEST_ENV: CI
44
+
45
+ release:
46
+ name: Release gem
47
+ needs: test
48
+ runs-on: ubuntu-latest
49
+ if: contains(github.ref, 'refs/tags/v')
50
+ steps:
51
+ - uses: actions/checkout@v3
52
+
53
+ - uses: cadwallion/publish-rubygems-action@master
54
+ env:
55
+ RUBYGEMS_API_KEY: ${{secrets.FONTIST_CI_RUBYGEMS_API_KEY}}
data/.gitignore CHANGED
@@ -20,3 +20,6 @@ Gemfile.lock
20
20
 
21
21
  # remote file cache
22
22
  .rubocop-*
23
+
24
+ # VS Code
25
+ .vscode
data/README.adoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = Fontist
2
2
 
3
- image:https://github.com/fontist/fontist/actions/workflows/rspec.yml/badge.svg["Build Status", link="https://github.com/fontist/fontist/actions/workflows/rspec.yml"]
3
+ image:https://github.com/fontist/fontist/actions/workflows/test-and-release.yml/badge.svg["Build Status", link="https://github.com/fontist/fontist/actions/workflows/test-and-release.yml"]
4
4
  image:https://img.shields.io/gem/v/fontist.svg["Gem Version", link="https://rubygems.org/gems/fontist"]
5
5
  image:https://img.shields.io/github/issues-pr-raw/fontist/fontist.svg["Pull Requests", link="https://github.com/fontist/fontist/pulls"]
6
6
 
@@ -160,17 +160,16 @@ These fonts are removed:
160
160
 
161
161
  === Status: `fontist status`
162
162
 
163
- Prints installed font paths grouped by formula and font.
163
+ Prints installed font paths with a corresponding formula.
164
164
 
165
165
  [source,sh]
166
166
  ----
167
167
  $ fontist status "segoe ui"
168
- segoe_ui
169
- Segoe UI
170
- Regular (/Users/user/.fontist/fonts/SEGOEUI.TTF)
171
- Bold (/Users/user/.fontist/fonts/SEGOEUIB.TTF)
172
- Italic (/Users/user/.fontist/fonts/SEGOEUII.TTF)
173
- Bold Italic (/Users/user/.fontist/fonts/SEGOEUIZ.TTF)
168
+ Fonts found at:
169
+ - /Users/user/.fontist/fonts/SEGOEUII.TTF (from segoe_ui formula)
170
+ - /Users/user/.fontist/fonts/SEGOEUIZ.TTF (from segoe_ui formula)
171
+ - /Users/user/.fontist/fonts/SEGOEUIB.TTF (from segoe_ui formula)
172
+ - /Users/user/.fontist/fonts/SEGOEUI.TTF (from segoe_ui formula)
174
173
  ----
175
174
 
176
175
  === List: `fontist list`
@@ -242,11 +241,21 @@ Segoe UI:
242
241
  - "/Users/user/.fontist/fonts/SEGOEUIB.TTF"
243
242
  Roboto Mono:
244
243
  Regular:
245
- full_name:
246
- paths: []
244
+ full_name: Roboto Mono Regular
245
+ paths:
246
+ - "/Users/user/.fontist/fonts/RobotoMono-VariableFont_wght.ttf"
247
247
  ----
248
248
 
249
- Since "`Segoe UI`" is installed, but "`Roboto Mono`" is not.
249
+ If one or more of requested fonts are missing, the "3" error code would be
250
+ returned, and a message printed:
251
+
252
+ [source,sh]
253
+ ----
254
+ $ fontist manifest-locations manifest.yml
255
+ 'Roboto Mono' 'Regular' font is missing, please run `fontist install 'Roboto Mono'` to download the font.
256
+ $ echo $?
257
+ 3
258
+ ----
250
259
 
251
260
  === Install fonts from manifest: `fontist manifest-install`
252
261
 
@@ -556,7 +565,7 @@ Fontist::Fontconfig.remove # disable detection
556
565
  Fontist::Fontconfig.remove(force: true) # do not fail if no config exists
557
566
  ----
558
567
 
559
- === Installing macOS-specific add-on fonts
568
+ == Installing macOS-specific add-on fonts
560
569
 
561
570
  The purpose of Fontist allowing macOS-specific add-on fonts is to allow CI jobs
562
571
  on macOS environments to use these specially licensed fonts that are not
@@ -701,27 +710,6 @@ fontist create-formula https://www.latofonts.com/download/lato2ofl-zip/
701
710
  cp lato.yml ~/.fontist/formulas/Formulas/
702
711
  ----
703
712
 
704
- Though indexes are auto-generated now, maintainers should rebuild indexes in the
705
- main repo for backward compatibility with Fontist versions prior to v1.9.x.
706
-
707
- A formula index should be rebuilt when a new formula is generated or an existing
708
- one changed:
709
-
710
- [source,sh]
711
- ----
712
- fontist rebuild-index --main-repo
713
- ----
714
-
715
- Then, both the formula and the updated indexes should be committed and pushed to
716
- the formula repository:
717
-
718
- [source,sh]
719
- ----
720
- cd ~/.fontist/formulas
721
- git add Formulas/lato.yml index.yml filename_index.yml
722
- git commit -m "Add Lato formula"
723
- ----
724
-
725
713
  === Authentication for private formulas or private formula repositories
726
714
 
727
715
  Authorization of private archives in private formulas can be implemented with
@@ -784,29 +772,13 @@ WARNING: This section is only for Fontist maintainers.
784
772
  https://fonts.google.com[Google Fonts] provides probably the largest collection
785
773
  of widely-used, freely and openly licensed fonts.
786
774
 
787
- Fontist's https://github.com/fonitist/formula[formula library] includes support
775
+ Fontist's https://github.com/fontist/formulas[formula library] includes support
788
776
  for all openly-licensed fonts provided through Google Fonts, and maintains
789
777
  Fontist formulas for all such fonts.
790
778
 
791
- A GHA workflow checks for updated fonts on Google Fonts daily.
792
-
793
- In case an update is found, it could be fetched to the library by:
794
-
795
- [source,sh]
796
- ----
797
- bin/fontist import google
798
- ----
799
-
800
- The script would update formulas which should be committed to a separate
801
- repository https://github.com/fontist/formulas[formulas]:
802
-
803
- [source,sh]
804
- ----
805
- cd ~/.fontist/versions/{last_version}/formulas
806
- git add Formulas/google
807
- git commit -m "Google Fonts update"
808
- git push
809
- ----
779
+ https://github.com/fontist/formulas/blob/v3/.github/workflows/google.yml[A GHA
780
+ workflow] checks for updated fonts on Google Fonts daily. In case an update is
781
+ found, it's added to the repo by the workflow.
810
782
 
811
783
  === Dynamically importing formulas from SIL
812
784
 
@@ -833,35 +805,19 @@ git push
833
805
  === Dynamically importing formulas from macOS
834
806
 
835
807
  macOS provides https://support.apple.com/en-om/HT211240#download[fonts] which
836
- can be manually downloaded with `Font Book.app`. When such font is requested,
837
- Fontist prints information on how to install it.
808
+ can be manually downloaded with `Font Book.app`.
838
809
 
839
- In order to know which fonts are available in a current version of macOS,
840
- for each version there is a formula containing all supported fonts.
841
-
842
- A new formula can be generated with:
810
+ To update macOS formulas:
843
811
 
844
812
  [source,sh]
845
813
  ----
846
- fontist import macos --name "Big Sur" --fonts-link "https://support.apple.com/en-om/HT211240#download"
814
+ fontist import macos
847
815
  cd ~/.fontist/versions/{last_version}/formulas
848
816
  git add Formulas/macos
849
- git commit -m "Add Big Sur macOS formula"
817
+ git commit -m "Update macOS formulas"
850
818
  git push
851
819
  ----
852
820
 
853
- Here `--fonts-link` is a link to a page containing a list of available fonts
854
- in the `Font Book.app`.
855
-
856
- If the import is run on a different version of macOS, then a proper version
857
- should be set in the `platforms` attribute of the generated formula:
858
-
859
- [source,yaml]
860
- ----
861
- platforms:
862
- - macos-20
863
- ----
864
-
865
821
 
866
822
  == Development
867
823
 
data/fontist.gemspec CHANGED
@@ -30,22 +30,21 @@ Gem::Specification.new do |spec|
30
30
  spec.add_runtime_dependency "down", "~> 5.0"
31
31
  spec.add_runtime_dependency "extract_ttc", "~> 0.1"
32
32
  spec.add_runtime_dependency "nokogiri", "~> 1.0"
33
+ spec.add_runtime_dependency "mime-types", "~> 3.0"
33
34
  spec.add_runtime_dependency "sys-uname", "~> 1.2"
34
35
  spec.add_runtime_dependency "thor", "~> 1.0.1"
35
36
  spec.add_runtime_dependency "git", "~> 1.0"
36
37
  spec.add_runtime_dependency "ttfunk", "~> 1.6"
37
38
  spec.add_runtime_dependency "plist", "~> 3.0"
38
- spec.add_runtime_dependency "excavate", "~> 0.1"
39
+ spec.add_runtime_dependency "excavate", "~> 0.3.1"
40
+ spec.add_runtime_dependency "socksify", "~> 1.7"
39
41
 
40
- spec.add_development_dependency "pry"
42
+ spec.add_development_dependency "pry", "~> 0.14"
41
43
  spec.add_development_dependency "bundler", "~> 2.0"
42
- spec.add_development_dependency "gem-release"
43
44
  spec.add_development_dependency "rake", "~> 13"
44
45
  spec.add_development_dependency "rspec", "~> 3.0"
45
46
  spec.add_development_dependency "rspec-benchmark", "~> 0.6"
46
- spec.add_development_dependency "rubocop", "1.5.2"
47
- spec.add_development_dependency "rubocop-rails"
48
- spec.add_development_dependency "rubocop-performance"
49
-
50
- spec.add_runtime_dependency "socksify"
47
+ spec.add_development_dependency "rubocop", "~> 1.5"
48
+ spec.add_development_dependency "rubocop-rails", "~> 2.9"
49
+ spec.add_development_dependency "rubocop-performance", "~> 1.10"
51
50
  end
@@ -121,6 +121,10 @@ module Fontist
121
121
  Down.open("https://fonts.google.com/download?family=#{name}")
122
122
  true
123
123
  rescue Down::NotFound
124
+ false
125
+ rescue Down::ClientError => e
126
+ raise unless e.message == "403 Forbidden"
127
+
124
128
  false
125
129
  rescue Down::TimeoutError
126
130
  retry unless retries >= 3
@@ -97,8 +97,17 @@ module Fontist
97
97
 
98
98
  def generate_file_path(source)
99
99
  dir = Dir.mktmpdir(nil, Fontist.downloads_path)
100
- filename = source.original_filename
101
- File.join(dir, filename)
100
+ File.join(dir, filename(source))
101
+ end
102
+
103
+ def filename(source)
104
+ if File.extname(source.original_filename).empty? && source.content_type
105
+ require "mime/types"
106
+ ext = MIME::Types[source.content_type].first&.preferred_extension
107
+ return "#{source.original_filename}.#{ext}" if ext
108
+ end
109
+
110
+ source.original_filename
102
111
  end
103
112
 
104
113
  def move(source_file, target_path)
@@ -1,3 +1,3 @@
1
1
  module Fontist
2
- VERSION = "1.14.0".freeze
2
+ VERSION = "1.14.3".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fontist
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.14.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-23 00:00:00.000000000 Z
11
+ date: 2022-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: down
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: mime-types
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: sys-uname
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -128,56 +142,56 @@ dependencies:
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '0.1'
145
+ version: 0.3.1
132
146
  type: :runtime
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '0.1'
152
+ version: 0.3.1
139
153
  - !ruby/object:Gem::Dependency
140
- name: pry
154
+ name: socksify
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
- - - ">="
157
+ - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
159
+ version: '1.7'
160
+ type: :runtime
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
- - - ">="
164
+ - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: '0'
166
+ version: '1.7'
153
167
  - !ruby/object:Gem::Dependency
154
- name: bundler
168
+ name: pry
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - "~>"
158
172
  - !ruby/object:Gem::Version
159
- version: '2.0'
173
+ version: '0.14'
160
174
  type: :development
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: '2.0'
180
+ version: '0.14'
167
181
  - !ruby/object:Gem::Dependency
168
- name: gem-release
182
+ name: bundler
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
- - - ">="
185
+ - - "~>"
172
186
  - !ruby/object:Gem::Version
173
- version: '0'
187
+ version: '2.0'
174
188
  type: :development
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
- - - ">="
192
+ - - "~>"
179
193
  - !ruby/object:Gem::Version
180
- version: '0'
194
+ version: '2.0'
181
195
  - !ruby/object:Gem::Dependency
182
196
  name: rake
183
197
  requirement: !ruby/object:Gem::Requirement
@@ -224,58 +238,44 @@ dependencies:
224
238
  name: rubocop
225
239
  requirement: !ruby/object:Gem::Requirement
226
240
  requirements:
227
- - - '='
241
+ - - "~>"
228
242
  - !ruby/object:Gem::Version
229
- version: 1.5.2
243
+ version: '1.5'
230
244
  type: :development
231
245
  prerelease: false
232
246
  version_requirements: !ruby/object:Gem::Requirement
233
247
  requirements:
234
- - - '='
248
+ - - "~>"
235
249
  - !ruby/object:Gem::Version
236
- version: 1.5.2
250
+ version: '1.5'
237
251
  - !ruby/object:Gem::Dependency
238
252
  name: rubocop-rails
239
253
  requirement: !ruby/object:Gem::Requirement
240
254
  requirements:
241
- - - ">="
255
+ - - "~>"
242
256
  - !ruby/object:Gem::Version
243
- version: '0'
257
+ version: '2.9'
244
258
  type: :development
245
259
  prerelease: false
246
260
  version_requirements: !ruby/object:Gem::Requirement
247
261
  requirements:
248
- - - ">="
262
+ - - "~>"
249
263
  - !ruby/object:Gem::Version
250
- version: '0'
264
+ version: '2.9'
251
265
  - !ruby/object:Gem::Dependency
252
266
  name: rubocop-performance
253
267
  requirement: !ruby/object:Gem::Requirement
254
268
  requirements:
255
- - - ">="
269
+ - - "~>"
256
270
  - !ruby/object:Gem::Version
257
- version: '0'
271
+ version: '1.10'
258
272
  type: :development
259
273
  prerelease: false
260
274
  version_requirements: !ruby/object:Gem::Requirement
261
275
  requirements:
262
- - - ">="
263
- - !ruby/object:Gem::Version
264
- version: '0'
265
- - !ruby/object:Gem::Dependency
266
- name: socksify
267
- requirement: !ruby/object:Gem::Requirement
268
- requirements:
269
- - - ">="
270
- - !ruby/object:Gem::Version
271
- version: '0'
272
- type: :runtime
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - ">="
276
+ - - "~>"
277
277
  - !ruby/object:Gem::Version
278
- version: '0'
278
+ version: '1.10'
279
279
  description: Install openly-licensed fonts on Windows, Linux and Mac!
280
280
  email:
281
281
  - open.source@ribose.com
@@ -285,8 +285,7 @@ extensions: []
285
285
  extra_rdoc_files: []
286
286
  files:
287
287
  - ".github/workflows/metanorma.yml"
288
- - ".github/workflows/release.yml"
289
- - ".github/workflows/rspec.yml"
288
+ - ".github/workflows/test-and-release.yml"
290
289
  - ".gitignore"
291
290
  - ".hound.yml"
292
291
  - ".rspec"
@@ -384,7 +383,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
384
383
  - !ruby/object:Gem::Version
385
384
  version: '0'
386
385
  requirements: []
387
- rubygems_version: 3.0.3.1
386
+ rubygems_version: 3.3.7
388
387
  signing_key:
389
388
  specification_version: 4
390
389
  summary: Install openly-licensed fonts on Windows, Linux and Mac!
@@ -1,38 +0,0 @@
1
- name: release
2
-
3
- on:
4
- push:
5
- tags:
6
- - 'v*'
7
-
8
- jobs:
9
- release:
10
- runs-on: ubuntu-18.04
11
- steps:
12
- - uses: actions/checkout@v1
13
-
14
- - uses: ruby/setup-ruby@v1
15
- with:
16
- ruby-version: '2.6'
17
-
18
- - run: bundle config set path 'vendor/bundle'
19
-
20
- - run: bundle install --jobs 4 --retry 3
21
-
22
- - run: bundle exec rspec --tag ~dev
23
- env:
24
- TEST_ENV: CI
25
-
26
- - name: Publish to rubygems.org
27
- env:
28
- RUBYGEMS_API_KEY: ${{secrets.FONTIST_CI_RUBYGEMS_API_KEY}}
29
- run: |
30
- gem install gem-release
31
- touch ~/.gem/credentials
32
- cat > ~/.gem/credentials << EOF
33
- ---
34
- :rubygems_api_key: ${RUBYGEMS_API_KEY}
35
- EOF
36
- chmod 0600 ~/.gem/credentials
37
- git status
38
- gem release
@@ -1,47 +0,0 @@
1
- name: rspec
2
-
3
- on:
4
- push:
5
- branches: [ main ]
6
- pull_request:
7
-
8
- jobs:
9
- build:
10
- name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
11
- runs-on: ${{ matrix.os }}
12
- continue-on-error: ${{ matrix.experimental }}
13
- strategy:
14
- fail-fast: false
15
- matrix:
16
- ruby: [ '2.4', '2.5', '2.6', '2.7', '3.0' ]
17
- os: [ ubuntu-18.04, ubuntu-latest, windows-latest, macos-latest ]
18
- experimental: [ false ]
19
-
20
- steps:
21
- - uses: actions/checkout@master
22
-
23
- - uses: ruby/setup-ruby@v1
24
- with:
25
- ruby-version: ${{ matrix.ruby }}
26
- bundler-cache: true
27
-
28
- - if: matrix.os == 'macos-latest'
29
- run: brew install lcdf-typetools
30
-
31
- - if: matrix.os == 'macos-latest'
32
- run: bundle exec rspec
33
- env:
34
- TEST_ENV: CI
35
-
36
- - if: matrix.os == 'windows-latest' && matrix.ruby == '2.4'
37
- run: curl -O https://curl.se/ca/cacert.pem
38
-
39
- - if: matrix.os == 'windows-latest' && matrix.ruby == '2.4'
40
- run: bundle exec rspec --tag ~dev
41
- env:
42
- SSL_CERT_FILE: cacert.pem
43
-
44
- - if: matrix.os != 'macos-latest' || matrix.os == 'windows-latest' && matrix.ruby == '2.4'
45
- run: bundle exec rspec --tag ~dev
46
- env:
47
- TEST_ENV: CI