Skip to content

Commit

Permalink
Merge pull request #10 from adobe-type-tools/jh-add-gh-coverage-workflow
Browse files Browse the repository at this point in the history
Create workflow for running tests and gathering coverage
  • Loading branch information
frankrolf authored Jan 22, 2024
2 parents a60b687 + 4595368 commit d9a2bba
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 1 deletion.
58 changes: 58 additions & 0 deletions .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# This workflow will install Python dependencies, run tests with coverage, and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Run Tests with Coverage

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

permissions:
contents: read

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest pytest-cov defcon
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
python -m pip install .
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
# flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
# flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
echo 'Skipping flake8 temporarily'
- name: Test with pytest and coverage
run: |
python -m pytest tests --cov=dumpkerning --cov=getKerningPairsFromFEA --cov=getKerningPairsFromOTF --cov=getKerningPairsFromUFO --cov-report='json'
- name: Coverage
run: |
export TOTAL=$(python -c "import json;print(json.load(open('coverage.json'))['totals']['percent_covered_display'])")
echo "total=$TOTAL" >> $GITHUB_ENV
echo "### Total coverage: ${TOTAL}%" >> $GITHUB_STEP_SUMMARY
- name: "Make badge"
uses: schneegans/dynamic-badges-action@v1.4.0
with:
# GIST_TOKEN is a GitHub personal access token with scope "gist".
auth: ${{ secrets.GIST_TOKEN }}
gistID: 116f9fefb73f6fcf9ffe8ce34d72efd7 # replace with your real Gist id.
filename: covbadge.json
label: Coverage
message: ${{ env.total }}%
minColorRange: 50
maxColorRange: 90
valColorRange: ${{ env.total }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
htmlcov/*
.coverage
coverage.xml
coverage.json
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![codecov](https://codecov.io/gh/adobe-type-tools/kern-dump/graph/badge.svg?token=Rr15y2FSDB)](https://codecov.io/gh/adobe-type-tools/kern-dump)
[![Coverage](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/adobe-bot/116f9fefb73f6fcf9ffe8ce34d72efd7/raw/covbadge.json)](https://codecov.io/gh/adobe-type-tools/kern-dump)

# kernDump
Various scripts for analyzing, reading and writing kerning information. These
Expand Down

0 comments on commit d9a2bba

Please sign in to comment.