# This workflow will install and run the googlefonts/fontbakery QA tool on font build artifacts
# in the build workflow

name: Font Bakery CI

on:
    pull_request:
        paths: 
          - 'sources/**'
          - 'fonts/**.ttf'
          - 'fonts/**.otf'

jobs:
  fontbakery:

    runs-on: ubuntu-latest

    steps:
    - name: Set up Python 3.8
      uses: actions/setup-python@v1
      with:
        python-version: 3.8
    - name: Clone build folder
      uses: actions/checkout@v2
      with:
        repository : notofonts/noto-build
        path : "noto-build"
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r "$GITHUB_WORKSPACE"/noto-build/requirements.txt
    - name: Pull main repository
      uses: actions/checkout@v2
      with:
        path : "main"
    - name: Build the fonts
      run: |
        python "$GITHUB_WORKSPACE"/noto-build/nightlybuild.py
    - name: Font Bakery CI testing [INSTANCE TTF]
      uses: f-actions/font-bakery@v1
      with:
        subcmd: "check-notofonts"
        args: "-x monospace -x fontbakery_version -x dsig --loglevel WARN"  # optional additional args to subcmd
        path: "main/fonts/ttf/unhinted/instance_ttf/*.ttf"
        version: "latest"  # optional, latest PyPI release is default
    - name: Font Bakery CI testing [INSTANCE OTF]
      uses: f-actions/font-bakery@v1
      with:
        subcmd: "check-notofonts"
        args: "-x monospace -x fontbakery_version -x dsig --loglevel WARN"  # optional additional args to subcmd
        path: "main/fonts/otf/unhinted/instance_otf/*.otf"
        version: "latest"  # optional, latest PyPI release is default
    - name: Font Bakery CI testing [VARIABLE TTF]
      uses: f-actions/font-bakery@v1
      with:
        subcmd: "check-notofonts"
        args: "-x monospace -x fontbakery_version -x dsig --loglevel WARN"  # optional additional args to subcmd
        path: "main/fonts/ttf/unhinted/variable_ttf/*.ttf"
        version: "latest"  # optional, latest PyPI release is default
