register_font: support for new API #712
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: [main, tests-build, v*] | |
pull_request: | |
branches: [main, v*] | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
name: ${{ matrix.os }} - ${{ matrix.python-version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
- name: Install Dependency and Configure | |
if: runner.os == 'macOS' | |
run: | | |
brew install cairo | |
echo "LD_LIBRARY_PATH=$HOME/pangoprefix/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV | |
echo "PKG_CONFIG_PATH=$HOME/pangoprefix/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV | |
- name: Set ENV | |
if: runner.os == 'Linux' | |
run: | | |
echo "LD_LIBRARY_PATH=$HOME/pangoprefix/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH" >> $GITHUB_ENV | |
echo "PKG_CONFIG_PATH=$HOME/pangoprefix/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV | |
- name: Cache Pango | |
id: cache-pango | |
uses: actions/cache@v3 | |
with: | |
path: ~/pangoprefix | |
key: ${{ hashFiles('packing/build_pango_tests.sh') }}-${{ runner.os }} | |
- name: Install System Dependency | |
if: steps.cache-pango.outputs.cache-hit != 'true' | |
run: | | |
source packing/build_pango_tests.sh | |
- name: Install python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements-dev.txt | |
- name: Build Project | |
run: python setup.py build_ext -i | |
- name: Run Tests | |
run: pytest -s | |
- uses: codecov/codecov-action@v3 | |
with: | |
file: ./.coverage/coverage.xml | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: test-artifacts-${{matrix.os}}-${{matrix.python-version}} | |
path: .pytest_temp/ | |
msvc: | |
name: ${{matrix.os}} - ${{matrix.python-version}} - ${{matrix.architecture}} | |
runs-on: ${{matrix.os}} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-2022] | |
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
architecture: ["x64", "x86"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} for ${{matrix.architecture}} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: ${{matrix.architecture}} | |
allow-prereleases: true | |
- name: Cache Windows | |
id: cache-windows | |
uses: actions/cache@v3 | |
with: | |
path: C:\cibw\pkg-config | |
key: ${{ hashFiles('packing/download_dlls.py') }}-${{ hashFiles('packing/build_pkgconfig.ps1') }} | |
- name: Download Binary | |
run: | | |
python packing/download_dlls.py | |
- name: Set Path for pkg-config | |
run: | | |
$env:Path = "C:\cibw\pkg-config\bin;C:\cibw\vendor\bin;$($env:PATH)" | |
echo "$env:Path" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
- name: Install Python Dependencies | |
run: | | |
python -m pip install -U pip | |
pip install -U setuptools wheel | |
pip install -r requirements-dev.txt | |
- name: Build Project | |
env: | |
PKG_CONFIG_PATH: C:\cibw\vendor\lib\pkgconfig | |
run: python setup.py build_ext -i | |
- name: Run tests | |
run: | | |
pytest -s | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: test-artifacts-${{matrix.os}}-${{matrix.python-version}} ${{matrix.architecture}} | |
path: .pytest_temp/ | |
success-win: | |
needs: [msvc] | |
runs-on: ubuntu-latest | |
name: Windows Test Successful | |
steps: | |
- name: Success | |
run: echo Windows Test Successful | |
success-all: | |
needs: [test] | |
runs-on: ubuntu-latest | |
name: Mac and Linux Test Successful | |
steps: | |
- name: Success | |
run: echo Mac and Linux Test Successful |