Skip to content

Improve BaseKerning #257

Improve BaseKerning

Improve BaseKerning #257

Workflow file for this run

on:
push:
pull_request:
workflow_dispatch:
inputs:
reason:
description: 'Reason for running workflow'
required: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
- name: Ruff lint check
uses: astral-sh/ruff-action@v3
with:
version: "latest"
src: "./Lib"
lint_format:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
- name: Ruff format check
uses: astral-sh/ruff-action@v3
with:
version: "latest"
src: "./Lib"
args: "format --check"
mypy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
- name: Set up Python
uses: actions/setup-python@v6.1.0
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install mypy
pip install -r requirements.txt
pip install -r requirements-dev.txt
- name: Run mypy
run: mypy Lib/fontParts
versions:
runs-on: ubuntu-latest
outputs:
all: ${{ steps.read.outputs.all }}
oldest: ${{ steps.read.outputs.oldest }}
newest: ${{ steps.read.outputs.newest }}
steps:
- uses: actions/checkout@v6.0.1
- id: read
run: |
{
echo "all=$(python3 .github/scripts/supported_python_versions.py)"
echo "oldest=$(python3 .github/scripts/supported_python_versions.py oldest)"
echo "newest=$(python3 .github/scripts/supported_python_versions.py newest)"
} >> "$GITHUB_OUTPUT"
test:
needs: versions
runs-on: ${{ matrix.platform }}
if: "! contains(toJSON(github.event.commits.*.message), '[skip ci]')"
strategy:
matrix:
# Derived from pyproject.toml [project].classifiers
# by .github/scripts/supported_python_versions.py.
python-version: ${{ fromJson(needs.versions.outputs.all) }}
platform: [ubuntu-latest]
include: # Oldest and newest only, on macOS and Windows.
- platform: macos-latest
python-version: ${{ needs.versions.outputs.oldest }}
- platform: macos-latest
python-version: ${{ needs.versions.outputs.newest }}
- platform: windows-latest
python-version: ${{ needs.versions.outputs.oldest }}
- platform: windows-latest
python-version: ${{ needs.versions.outputs.newest }}
steps:
- uses: actions/checkout@v6.0.1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6.1.0
with:
python-version: ${{ matrix.python-version }}
- name: Install packages
run: |
pip install --upgrade pip
pip install -r requirements-dev.txt
pip install -e .
- name: Run tests and collect coverage
run: coverage run
- name: Upload coverage to Codecov
if: github.repository == 'robotools/fontparts'
uses: codecov/codecov-action@v5
with:
flags: unittests
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true