-
Notifications
You must be signed in to change notification settings - Fork 103
158 lines (150 loc) · 5.08 KB
/
install_run.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# Workflow for testing installing, running, and uninstalling FontBakery
name: ⚙️ Install & Run
on:
push:
branches:
- '**'
paths-ignore:
- 'docs/**'
- '**.md'
- '**.txt'
- '!requirements*.txt'
tags-ignore:
- '**'
pull_request:
paths-ignore:
- 'docs/**'
- '**.md'
- '**.txt'
- '!requirements*.txt'
jobs:
install-run:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-13, windows-latest]
profile:
- description: Universal profile on a static font
name: universal
args: >-
-x win_ascent_and_descent
-x os2_metrics_match_hhea
-x soft_dotted
-x fontdata_namecheck
data/test/source-sans-pro/OTF/SourceSansPro-Regular.otf
data/test/source-sans-pro/OTF/SourceSansPro-Italic.otf
- description: Universal profile on a variable font
name: universal
args: >-
-x win_ascent_and_descent
-x os2_metrics_match_hhea
-x fsselection
-x valid_default_instance_nameids
-x soft_dotted
-x fontdata_namecheck
data/test/source-sans-pro/VAR/SourceSansVariable-Roman.ttf
- description: Universal profile on a UFO font
extras: ".[ufo]"
name: universal
args: --verbose data/test/test.ufo
- description: Universal profile on a designspace
extras: ".[ufo]"
name: universal
args: >-
-x designspace_has_consistent
"data/test/stupidfont/Stupid Font.designspace"
- description: OpenType profile on a TTC
name: opentype
args: >-
-x tabular_kerning
-x style
-x family
-x monospace
-x fontdata_namecheck
data/test/ttc/NotoSerifToto.ttc
- description: Font Bureau profile
name: fontbureau
args: >-
-c ots
-c ytlc_sanity
data/test/fontbureau/ytlcSample.ttf
- description: Adobe Fonts profile on a static font
name: adobefonts
args: >-
data/test/source-sans-pro/OTF/SourceSansPro-Regular.otf
data/test/source-sans-pro/OTF/SourceSansPro-Italic.otf
- description: Adobe Fonts profile on a variable font
name: adobefonts
args: >-
data/test/source-sans-pro/VAR/SourceSansVariable-Roman.ttf
- description: Google Fonts
extras: ".[googlefonts]"
name: googlefonts
args: >-
-c canonical_filename
-c vendor_id
-c glyph_coverage
-c name/license
-c hinting_impact
-c unreachable_glyphs
-c contour_count
-c outline_colinear_vectors
data/test/cabin/Cabin-*.ttf
- description: Fontwerk
extras: ".[fontwerk]"
name: fontwerk
args: >-
-c weight_class_fvar
-c inconsistencies_between_fvar_stat
-c style_linking
-c consistent_axes
-c metadata/parses
-c usweightclass
data/test/source-sans-pro/VAR/SourceSansVariable-Roman.ttf
- description: Noto fonts
extras: ".[notofonts]"
name: notofonts
args: >-
-c unicode_range_bits
-c noto_trademark
-c noto_vendor
-c alien_codepoints
-c tnum_horizontal_metrics
-c control_chars
-c canonical_filename
data/test/notosanskhudawadi/NotoSansKhudawadi-Regular.ttf
- description: Type Network
extras: ".[typenetwork]"
name: typenetwork
args: >-
-c glyph_coverage
-c vertical_metrics
-c font_is_centered_vertically
-c family/tnum_horizontal_metrics
-c family/equal_numbers_of_glyphs
data/test/cabin/Cabin-Regular.ttf data/test/cabin/Cabin-Italic.ttf
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # unshallow fetch for setuptools-scm (otherwise the version is always 0.1.dev1)
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: 'pip' # caching pip dependencies
- name: Install FontBakery (no extras)
run: |
python -m pip install --upgrade pip
python -m pip install .
fontbakery -h
fontbakery --version
- name: Install any extras
if: ${{ matrix.profile.extras }}
run: |
python -m pip install ${{ matrix.profile.extras }}
- name: Run ${{matrix.profile.description}}
run: >-
fontbakery check-${{ matrix.profile.name }}
--error-code-on ERROR
${{ matrix.profile.args }}