fontist 1.21.1 → 1.21.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0cc55cf30c5781a41e3ff4ff617acacb24367c3148dc6c1db104ff5a1aad8105
4
- data.tar.gz: 118207311bf22488c6adbff254fd3646d24f5b1f09f09d8eaf319489798c5002
3
+ metadata.gz: f1f643e0f29ca1df23bf363fbac476a18eac1f7d94a5531ba57c3e067b257510
4
+ data.tar.gz: e1c1b437145c267b8eab870bc201af9be5c4b0f6cafb8fd5fd87c15232b7a0f9
5
5
  SHA512:
6
- metadata.gz: aebf180824a2e45fc23e6d795e98fa8394e735d1a0c6f58d5ec5740ea2343e31787d9075db3060a071ce3a8dc0b193502e6b76e76fba58c345522cc47ddd4b74
7
- data.tar.gz: e411af70f8dd20ab8f7a55540fa24b5741a37813420fd14b0e3518f30a1d0a477565add1da666f6f91207ec90343ab2eabc04cd791d69a22c3c6c08c01ea639f
6
+ metadata.gz: 8a0f1a24057b83018f2d7ea44b5e4026a1b22759eecc900c9854cb72c51ead62faa0b6250bc79dc0bb04c6a4929f000b99ace89d20e617b480da54b589dcd354
7
+ data.tar.gz: 0f90c437007d9493a8d4e3fd2949c2532ba7dd2e0a9d10deb7960d0ff88481a21e43a485261db755b25a4a61730afbbfdf952f97f9e52816c168d24daeb9e20b
@@ -0,0 +1,26 @@
1
+ name: post-rake
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ workflow_run:
6
+ workflows:
7
+ - rake
8
+ - rake-metanorma
9
+ types:
10
+ - completed
11
+
12
+ jobs:
13
+ post-rake:
14
+ if: ${{ github.event.workflow_run.conclusion == 'success' && contains(github.ref, 'refs/tags/v') }}
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - if: contains(github.ref, 'refs/tags/v')
20
+ name: Repository ready for release
21
+ uses: peter-evans/repository-dispatch@v3
22
+ with:
23
+ token: ${{ secrets.FONTIST_CI_PAT_TOKEN }}
24
+ repository: ${{ github.repository }}
25
+ event-type: do-release
26
+ client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}", "type": "do-release"}'
@@ -0,0 +1,53 @@
1
+ name: rake-metanorma
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
+ env:
14
+ BUNDLER_VER: 2.3.24
15
+
16
+ jobs:
17
+ prepare:
18
+ uses: metanorma/ci/.github/workflows/prepare-rake.yml@main
19
+
20
+ metanorma:
21
+ name: Test metanorma on Ruby ${{ matrix.ruby.version }} ${{ matrix.os }}
22
+ runs-on: ${{ matrix.os }}
23
+
24
+ needs: prepare
25
+ if: needs.prepare.outputs.push-for-tag != 'true'
26
+
27
+ continue-on-error: ${{ matrix.ruby.experimental }}
28
+ strategy:
29
+ fail-fast: false
30
+ max-parallel: 5
31
+ matrix: ${{ fromJson(needs.prepare.outputs.matrix) }}
32
+
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+ with:
36
+ repository: metanorma/metanorma
37
+
38
+ - uses: actions/checkout@master
39
+ with:
40
+ path: "fontist"
41
+
42
+ - run: 'echo ''gem "fontist", path: "./fontist"'' > Gemfile.devel'
43
+
44
+ - uses: ruby/setup-ruby@v1
45
+ with:
46
+ ruby-version: ${{ matrix.ruby.version }}
47
+ rubygems: ${{ matrix.ruby.rubygems }}
48
+ bundler: ${{ env.BUNDLER_VER }}
49
+ bundler-cache: true
50
+
51
+ - uses: metanorma/metanorma-build-scripts/inkscape-setup-action@main
52
+
53
+ - run: bundle exec rake
@@ -0,0 +1,79 @@
1
+ name: rake
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
+ env:
14
+ BUNDLER_VER: 2.3.24
15
+ # Forcing bundler version to ensure that it is consistent everywhere and
16
+ # does not cause bundler gem reinstalls
17
+ # bundler/rubygems 2.3.22 is a minimal requirement to support gnu/musl differentiation
18
+ # https://github.com/rubygems/rubygems/pull/4488
19
+ GOOGLE_FONTS_API_KEY: ${{secrets.FONTIST_CI_GOOGLE_FONTS_API_KEY}}
20
+
21
+ jobs:
22
+ prepare:
23
+ uses: metanorma/ci/.github/workflows/prepare-rake.yml@main
24
+
25
+ test:
26
+ name: Test on Ruby ${{ matrix.ruby.version }} ${{ matrix.os }}
27
+ runs-on: ${{ matrix.os }}
28
+
29
+ needs: prepare
30
+ if: needs.prepare.outputs.push-for-tag != 'true'
31
+
32
+ continue-on-error: ${{ matrix.ruby.experimental }}
33
+ strategy:
34
+ fail-fast: false
35
+ max-parallel: 5
36
+ matrix: ${{ fromJson(needs.prepare.outputs.matrix) }}
37
+
38
+ steps:
39
+ - uses: actions/checkout@v4
40
+
41
+ - uses: ruby/setup-ruby@v1
42
+ with:
43
+ ruby-version: ${{ matrix.ruby.version }}
44
+ rubygems: ${{ matrix.ruby.rubygems }}
45
+ bundler: ${{ env.BUNDLER_VER }}
46
+ bundler-cache: true
47
+
48
+ - if: matrix.os == 'macos-latest'
49
+ run: brew install lcdf-typetools
50
+
51
+ - run: bundle exec rake
52
+
53
+ archlinux-test:
54
+ name: Test on Arch Linux
55
+ needs: prepare
56
+ runs-on: ubuntu-latest
57
+ container:
58
+ image: 'archlinux:latest'
59
+ strategy:
60
+ fail-fast: false
61
+ env:
62
+ CI: true
63
+
64
+ steps:
65
+ - name: Setup packages
66
+ run: pacman -Syu --noconfirm git binutils gcc autoconf make libffi libyaml gmp
67
+
68
+ - uses: actions/checkout@v4
69
+
70
+ - uses: asdf-vm/actions/install@v3
71
+ with:
72
+ tool_versions: ruby ${{ needs.prepare.outputs.default-ruby-version }}
73
+
74
+ - run: |
75
+ gem install bundler
76
+ bundle install
77
+
78
+ - name: Test
79
+ run: bundle exec rake
@@ -0,0 +1,21 @@
1
+ name: release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ next_version:
7
+ description: |
8
+ Next release version. Possible values: x.y.z, major, minor, patch (or pre|rc|etc).
9
+ Also, you can pass 'skip' to skip 'git tag' and do 'gem push' for the current version
10
+ required: true
11
+ default: 'skip'
12
+ repository_dispatch:
13
+ types: [ do-release ]
14
+
15
+ jobs:
16
+ release:
17
+ uses: fontist/support/.github/workflows/release.yml@main
18
+ with:
19
+ next_version: ${{ github.event.inputs.next_version }}
20
+ secrets:
21
+ rubygems-api-key: ${{ secrets.FONTIST_CI_RUBYGEMS_API_KEY }}
@@ -1,8 +1,8 @@
1
1
  name: tebako-pack
2
2
 
3
3
  on:
4
- push:
5
- tags: [ 'v*' ]
4
+ repository_dispatch:
5
+ types: [ do-release ]
6
6
  workflow_dispatch:
7
7
 
8
8
  concurrency:
data/Rakefile CHANGED
@@ -5,4 +5,4 @@ require "rubocop/rake_task"
5
5
  RSpec::Core::RakeTask.new(:spec)
6
6
  RuboCop::RakeTask.new
7
7
 
8
- task default: %i[spec rubocop]
8
+ task default: %i[spec]
data/fontist.gemspec CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_runtime_dependency "nokogiri", "~> 1.0"
37
37
  spec.add_runtime_dependency "mime-types", "~> 3.0"
38
38
  spec.add_runtime_dependency "sys-uname", "~> 1.2"
39
- spec.add_runtime_dependency "thor", "~> 1.2.1"
39
+ spec.add_runtime_dependency "thor", "~> 1.2", ">= 1.2.1"
40
40
  spec.add_runtime_dependency "git", "~> 1.0"
41
41
  spec.add_runtime_dependency "ttfunk", "~> 1.6"
42
42
  spec.add_runtime_dependency "plist", "~> 3.0"
@@ -68,7 +68,7 @@ module Fontist
68
68
 
69
69
  message = error.message.to_s
70
70
  if message.empty? || !error.is_a?(Thor::Error)
71
- message.prepend("[#{error.class}] ")
71
+ message = "[#{error.class}] #{message}"
72
72
  end
73
73
  config[:shell]&.say_error(message, :red)
74
74
  exit(false)
@@ -88,7 +88,10 @@ module Fontist
88
88
  end
89
89
 
90
90
  def self.new_from_file(path)
91
- data = YAML.load_file(path)
91
+ data = YAML.safe_load(
92
+ File.read(path),
93
+ permitted_classes: [Date, Symbol, Time]
94
+ )
92
95
  new(data, path)
93
96
  end
94
97
 
@@ -107,7 +107,11 @@ module Fontist
107
107
  end
108
108
 
109
109
  def generate_file_path(source)
110
- dir = Dir.mktmpdir(nil, Fontist.downloads_path)
110
+ # WORKAROUND: `to_s` below is needed to avoid ArgumentError
111
+ # on `Dir.mktmpdir`, which occurs in ruby-3.4-preview2.
112
+ # Double-check on stable ruby-3.4 and remove if no longer needed.
113
+
114
+ dir = Dir.mktmpdir(nil, Fontist.downloads_path.to_s)
111
115
  File.join(dir, filename(source))
112
116
  end
113
117
 
@@ -1,3 +1,3 @@
1
1
  module Fontist
2
- VERSION = "1.21.1".freeze
2
+ VERSION = "1.21.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.21.1
4
+ version: 1.21.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-31 00:00:00.000000000 Z
11
+ date: 2025-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: down
@@ -113,6 +113,9 @@ dependencies:
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.2'
118
+ - - ">="
116
119
  - !ruby/object:Gem::Version
117
120
  version: 1.2.1
118
121
  type: :runtime
@@ -120,6 +123,9 @@ dependencies:
120
123
  version_requirements: !ruby/object:Gem::Requirement
121
124
  requirements:
122
125
  - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '1.2'
128
+ - - ">="
123
129
  - !ruby/object:Gem::Version
124
130
  version: 1.2.1
125
131
  - !ruby/object:Gem::Dependency
@@ -347,8 +353,11 @@ extensions: []
347
353
  extra_rdoc_files: []
348
354
  files:
349
355
  - ".github/workflows/deploy-pages.yml"
356
+ - ".github/workflows/post-rake.yml"
357
+ - ".github/workflows/rake-metanorma.yaml"
358
+ - ".github/workflows/rake.yml"
359
+ - ".github/workflows/release.yml"
350
360
  - ".github/workflows/tebako-pack.yml"
351
- - ".github/workflows/test-and-release.yml"
352
361
  - ".gitignore"
353
362
  - ".hound.yml"
354
363
  - ".rspec"
@@ -470,8 +479,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
470
479
  - !ruby/object:Gem::Version
471
480
  version: '0'
472
481
  requirements: []
473
- rubygems_version: 3.3.27
474
- signing_key:
482
+ rubygems_version: 3.5.22
483
+ signing_key:
475
484
  specification_version: 4
476
485
  summary: Install openly-licensed fonts on Windows, Linux and Mac!
477
486
  test_files: []
@@ -1,131 +0,0 @@
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
- env:
14
- BUNDLER_VER: 2.3.24
15
- # Forcing bundler version to ensure that it is consistent everywhere and
16
- # does not cause bundler gem reinstalls
17
- # bundler/rubygems 2.3.22 is a minimal requirement to support gnu/musl differentiation
18
- # https://github.com/rubygems/rubygems/pull/4488
19
- GOOGLE_FONTS_API_KEY: ${{secrets.FONTIST_CI_GOOGLE_FONTS_API_KEY}}
20
-
21
- jobs:
22
- prepare:
23
- uses: metanorma/ci/.github/workflows/prepare-rake.yml@main
24
-
25
- test:
26
- name: Test on Ruby ${{ matrix.ruby.version }} ${{ matrix.os }}
27
- runs-on: ${{ matrix.os }}
28
-
29
- needs: prepare
30
- if: needs.prepare.outputs.push-for-tag != 'true'
31
-
32
- continue-on-error: ${{ matrix.ruby.experimental }}
33
- strategy:
34
- fail-fast: false
35
- max-parallel: 5
36
- matrix: ${{ fromJson(needs.prepare.outputs.matrix) }}
37
-
38
- steps:
39
- - uses: actions/checkout@v3
40
-
41
- - uses: ruby/setup-ruby@v1
42
- with:
43
- ruby-version: ${{ matrix.ruby.version }}
44
- rubygems: ${{ matrix.ruby.rubygems }}
45
- bundler: ${{ env.BUNDLER_VER }}
46
- bundler-cache: true
47
-
48
- - if: matrix.os == 'macos-latest'
49
- name: Run tests including dev ones
50
- run: |
51
- brew install lcdf-typetools
52
- bundle exec rspec
53
- env:
54
- TEST_ENV: CI
55
-
56
- - if: matrix.os != 'macos-latest'
57
- run: bundle exec rspec --tag ~dev
58
- env:
59
- TEST_ENV: CI
60
-
61
- archlinux-test:
62
- name: Test on Arch Linux
63
- runs-on: ubuntu-latest
64
- container:
65
- image: 'archlinux:latest'
66
- strategy:
67
- fail-fast: false
68
-
69
- steps:
70
- - uses: actions/checkout@v3
71
-
72
- - name: Setup packages
73
- run: pacman -Syu --noconfirm git ruby binutils gcc autoconf make libffi
74
-
75
- - run: bundle install
76
-
77
- - name: Test
78
- run: bundle exec rspec --tag ~dev
79
-
80
- metanorma:
81
- name: Test metanorma on Ruby ${{ matrix.ruby.version }} ${{ matrix.os }}
82
- runs-on: ${{ matrix.os }}
83
-
84
- needs: prepare
85
- if: needs.prepare.outputs.push-for-tag != 'true'
86
-
87
- continue-on-error: true # ${{ matrix.ruby.experimental || matrix.os == 'windows-latest' }} # workaround https://github.com/metanorma/metanorma/issues/288
88
- strategy:
89
- fail-fast: false
90
- max-parallel: 5
91
- matrix: ${{ fromJson(needs.prepare.outputs.matrix) }}
92
-
93
- steps:
94
- - uses: actions/checkout@v3
95
- with:
96
- repository: metanorma/metanorma
97
-
98
- - uses: actions/checkout@master
99
- with:
100
- path: "fontist"
101
-
102
- - run: 'echo ''gem "fontist", path: "./fontist"'' > Gemfile.devel'
103
-
104
- - uses: ruby/setup-ruby@v1
105
- with:
106
- ruby-version: ${{ matrix.ruby.version }}
107
- rubygems: ${{ matrix.ruby.rubygems }}
108
- bundler: ${{ env.BUNDLER_VER }}
109
- bundler-cache: true
110
-
111
- - uses: metanorma/metanorma-build-scripts/inkscape-setup-action@main
112
-
113
- - run: bundle exec rake
114
-
115
- release:
116
- name: Release gem
117
- needs: [ test, archlinux-test, metanorma ]
118
- runs-on: ubuntu-latest
119
- if: contains(github.ref, 'refs/tags/v')
120
- steps:
121
- - uses: actions/checkout@v3
122
-
123
- - uses: ruby/setup-ruby@v1
124
- with:
125
- ruby-version: 3.1
126
- bundler-cache: true
127
-
128
- - uses: actions-mn/gem-release@main
129
- with:
130
- api-key: ${{ secrets.FONTIST_CI_RUBYGEMS_API_KEY }}
131
- release-command: bundle exec rake release