Open marekjez86 opened 4 years ago
@jbmorizot : fontbakery actions are used on googlefonts hence I included @felipesanches @davelab6 @chrissimpkins @m4rc1e
@marekjez86, can we schedule a video call this week so that I can better understand your specific needs and help you achieve something great here?
Happy to help and have a custom GH Action that supports fontbakery testing. Let me know how I can help
Since the Github action workflow calls the ~/nightlybuild.py script, it might be easier/smarter to run a fontbakery check from the script with a subcommand.run() function. We can capture the logs and output a text file saved at the folder root, and maybe reject/correct the fonts accordingly.
Should we save the logs as .text file and then commit it? Maybe only the FAILs, WARNs and ERRORs, so it avoid useless commit when the fonts pass the checks?
Yes, please... Also I realized that my fontbakery additions to a continuous-build script cause that if there are errors reported by fontbakery then the fonts will not be copied. Maybe it's better to copy/publish the fonts and then run fontbakery
Fontbakery does have a feature to save log results in markdown format, which results in a nicer rendering of the results when posted on github issues, PRs or when committed to a repo. You may want to try that to see if it fits your needs. Otherwise, let me know if there's anything we could do to improve the output format.
I'll try (or JB will try). @felipesanches : BTW, what options/checks will trigger rupee?
I'll try (or JB will try).
for github markdown output you can use --ghm output_filename.md
@felipesanches : BTW, what options/checks will trigger rupee?
Running the universal
profile will include the new check com.google.fonts/check/rupee
The googlefonts
profile includes the universal
one, so it would also work.
But you need to use the development version of fontbakery to get that for now... (git master). At some point this month I'll cut a new release and then it will be available from a PyPI package. Likely a couple weeks from now.
@felipesanches : could you also modify check-notofonts to include check-universal ? I also can add another step in my continuous integration so this might be more explicit; so please advise me what you think is better ... :-)
You can modify the GH action to use "master" instead of "latest" and will get the tip of the FB master branch.
@felipesanches : could you also modify check-notofonts to include check-universal ? I also can add another step in my continuous integration so this might be more explicit; so please advise me what you think is better ... :-)
It already does! :-D https://github.com/googlefonts/fontbakery/blob/master/Lib/fontbakery/profiles/notofonts.py#L15
I add the FB check + move the fonts to Arimo and NotoSerifEthiopic On push (and not on: push: - path: 'sources/**', to trigger the CI at each commit on the workflow file).
on: push: branches: [master] paths:
i.e I wanted to run it whenever CI pushed the build
I wanted to run an equivalent to the following command line where $i is the same as repository name (only one of the TTFs might exist for the pattern below)
fontbakery check-notofonts --succinct -n -C fonts/ttf/unhinted/instance_ttf/{$i,$i-Regular}.ttf
However, if it's easy to do it I'd like to run fontbakery on every font created in 'fonts/**'
could you show me how this could be done, for example for https://github.com/notofonts/NotoSerif-Italic
INITIALLY I'd like to ignore FAILs (I think 90% of Noto fonts failed -- see below)
==========================================================
marek@Mareks-2019-Mac-Pro notofonts % egrep "FAIL|===" /Users/marek/fontbakerylog1593981858.txt | grep -v "latest version of FontBakery available" | grep -v "A FAIL is a problem with the font that must be fixed." | grep -v "signature (DSIG table)" | grep -v " Result: FAIL" | egrep -v "FAIL: [0-9][0-9]*"
====== Arimo
====== Cousine
====== NotoKufiArabic
====== NotoMusic
====== NotoNaskhArabic
====== NotoNaskhArabicUI
====== NotoNastaliqUrdu
====== NotoRashiHebrew
====== NotoSans
====== NotoSans-Italic
====== NotoSansAdlam
====== NotoSansAdlamUnjoined
====== NotoSansAnatolianHieroglyphs
====== NotoSansArabic
====== NotoSansArabicUI
====== NotoSansArmenian
====== NotoSansAvestan
====== NotoSansBamum
====== NotoSansBassaVah
====== NotoSansBatak
====== NotoSansBengali
====== NotoSansBengaliUI
====== NotoSansBhaiksuki
====== NotoSansBrahmi
====== NotoSansBuginese
====== NotoSansBuhid
====== NotoSansCanadianAboriginal
====== NotoSansCarian
====== NotoSansCaucasianAlbanian
====== NotoSansChakma
====== NotoSansCham
====== NotoSansCherokee
====== NotoSansCoptic
====== NotoSansCuneiform
====== NotoSansCypriot
====== NotoSansDeseret
====== NotoSansDevanagari
====== NotoSansDevanagariUI
====== NotoSansDisplay
====== NotoSansDisplay-Italic
====== NotoSansDuployan
====== NotoSansEgyptianHieroglyphs
====== NotoSansElbasan
====== NotoSansElymaic
====== NotoSansEthiopic
====== NotoSansGeorgian
====== NotoSansGlagolitic
====== NotoSansGothic
====== NotoSansGrantha
====== NotoSansGujarati
====== NotoSansGujaratiUI
====== NotoSansGunjalaGondi
====== NotoSansGurmukhi
====== NotoSansGurmukhiUI
====== NotoSansHanifiRohingya
====== NotoSansHanunoo
====== NotoSansHatran
====== NotoSansHebrew
====== NotoSansImperialAramaic
====== NotoSansIndicSiyaqNumbers
====== NotoSansInscriptionalPahlavi
====== NotoSansInscriptionalParthian
====== NotoSansJavanese
====== NotoSansKaithi
====== NotoSansKannada
====== NotoSansKannadaUI
====== NotoSansKayahLi
====== NotoSansKharoshthi
====== NotoSansKhmer
====== NotoSansKhmerUI
====== NotoSansKhojki
====== NotoSansKhudawadi
====== NotoSansLao
====== NotoSansLaoUI
====== NotoSansLepcha
====== NotoSansLimbu
====== NotoSansLinearA
====== NotoSansLinearB
====== NotoSansLisu
====== NotoSansLycian
====== NotoSansLydian
====== NotoSansMahajani
====== NotoSansMalayalam
====== NotoSansMalayalamUI
====== NotoSansMandaic
====== NotoSansManichaean
====== NotoSansMarchen
====== NotoSansMasaramGondi
====== NotoSansMath
====== NotoSansMayanNumerals
====== NotoSansMeeteiMayek
====== NotoSansMendeKikakui
====== NotoSansMeroitic
====== NotoSansMiao
====== NotoSansModi
====== NotoSansMongolian
====== NotoSansMono
====== NotoSansMro
====== NotoSansMultani
====== NotoSansMyanmar
====== NotoSansMyanmarUI
====== NotoSansNKo
====== NotoSansNabataean
====== NotoSansNewTaiLue
====== NotoSansNewa
====== NotoSansNushu
====== NotoSansOgham
====== NotoSansOlChiki
====== NotoSansOldHungarian
====== NotoSansOldItalic
====== NotoSansOldNorthArabian
====== NotoSansOldPermic
====== NotoSansOldPersian
====== NotoSansOldSogdian
====== NotoSansOldSouthArabian
====== NotoSansOldTurkic
====== NotoSansOriya
====== NotoSansOriyaUI
====== NotoSansOsage
====== NotoSansOsmanya
====== NotoSansPahawhHmong
====== NotoSansPalmyrene
====== NotoSansPauCinHau
====== NotoSansPhagsPa
====== NotoSansPhoenician
====== NotoSansPsalterPahlavi
====== NotoSansRejang
====== NotoSansRunic
====== NotoSansSamaritan
====== NotoSansSaurashtra
====== NotoSansSharada
====== NotoSansShavian
====== NotoSansSiddham
====== NotoSansSinhala
====== NotoSansSinhalaUI
====== NotoSansSogdian
====== NotoSansSoraSompeng
====== NotoSansSoyombo
====== NotoSansSundanese
====== NotoSansSylotiNagri
====== NotoSansSymbols
====== NotoSansSymbols2
====== NotoSansSyriac
====== NotoSansTagalog
====== NotoSansTagbanwa
====== NotoSansTaiLe
====== NotoSansTaiTham
====== NotoSansTaiViet
====== NotoSansTakri
====== NotoSansTamil
====== NotoSansTamilSupplement
====== NotoSansTamilUI
====== NotoSansTelugu
====== NotoSansTeluguUI
====== NotoSansThaana
====== NotoSansThai
====== NotoSansThaiUI
====== NotoSansTifinagh
====== NotoSansTirhuta
====== NotoSansUgaritic
====== NotoSansVai
====== NotoSansWancho
====== NotoSansWarangCiti
====== NotoSansYi
====== NotoSansZanabazarSquare
====== NotoSerif
====== NotoSerif-Italic
====== NotoSerifAhom
====== NotoSerifArmenian
====== NotoSerifBalinese
====== NotoSerifBengali
====== NotoSerifDevanagari
====== NotoSerifDisplay
====== NotoSerifDisplay-Italic
====== NotoSerifDogra
====== NotoSerifEthiopic
====== NotoSerifGeorgian
====== NotoSerifGrantha
====== NotoSerifGujarati
====== NotoSerifGurmukhi
====== NotoSerifHebrew
====== NotoSerifKannada
====== NotoSerifKhmer
====== NotoSerifLao
====== NotoSerifMalayalam
====== NotoSerifMyanmar
====== NotoSerifNyiakengPuachueHmong
====== NotoSerifSinhala
====== NotoSerifTamil
====== NotoSerifTamilSlanted
====== NotoSerifTangut
====== NotoSerifTelugu
====== NotoSerifThai
====== NotoSerifTibetan
====== NotoTraditionalNushu
====== Tinos