name: build on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: python: ["3.6", "3.7", "3.8", "3.9"] os: [ubuntu-latest, windows-latest] include: - python: "3.6" tox_env: "py36" - python: "3.7" tox_env: "py37" - python: "3.8" tox_env: "py38" - python: "3.9" tox_env: "py39" steps: - uses: actions/checkout@v1 - name: Set up Python uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} - name: Install tox run: | python -m pip install --upgrade pip pip install tox - name: Test run: | tox -e ${{ matrix.tox_env }} deploy: if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') runs-on: ubuntu-latest needs: build steps: - uses: actions/checkout@v1 - name: Set up Python uses: actions/setup-python@v1 with: python-version: "3.7" - name: Install wheel run: | python -m pip install --upgrade pip pip install wheel - name: Build package run: | python setup.py sdist bdist_wheel - name: Publish package to PyPI uses: pypa/gh-action-pypi-publish@master with: user: __token__ password: ${{ secrets.pypi_token }}