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 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