win2xcur/.github/workflows/build.yml
2020-10-03 01:40:51 -04:00

52 lines
1.7 KiB
YAML

name: Python package
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ 3.6, 3.7, 3.8, 3.9.0-alpha - 3.9 ]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 flake8-import-order mypy wheel coverage
pip install -r requirements.txt
sudo apt-get install x11-apps dmz-cursor-theme
- name: Lint with flake8
run: flake8 .
- name: Typecheck with mypy
run: mypy .
- name: Test packages
run: python setup.py sdist bdist_wheel
- name: Test wheel install
run: pip install dist/*.whl
- name: Test with sample/crosshair.cur
run: |
coverage run -m win2xcur.main.win2xcur sample/crosshair.cur -o /tmp
ls -l /tmp/crosshair
- name: Test with animated cursors
run: |
wget http://www.anicursor.com/waiting.zip
mkdir ani output
unzip waiting.zip -d ani
coverage run -a -m win2xcur.main.win2xcur -s ani/*.ani -o output
ls -l output/*
- name: Test with dmz-cursor-theme
run: |
mkdir dmz-white
coverage run -a -m win2xcur.main.x2wincur /usr/share/icons/DMZ-White/cursors/* -o dmz-white
ls -l dmz-white/*
- name: Generating coverage report
run: coverage xml
- uses: codecov/codecov-action@v1