name: Python package on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: [3.6, 3.7, 3.8, pypy3] 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 -U pip coverage codecov flake8 fastimport - name: Style checks run: | python -m flake8 - name: Build run: | python setup.py build_ext -i - name: Coverage test suite run run: | python -m coverage run -p -m unittest dulwich.tests.test_suite