name: build on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: tox_env: - "py36-pytestlatest" - "py37-pytestlatest" - "py38-pytestlatest" - "py39-pytestlatest" - "py310-pytestlatest" - "py38-pytestmain" - "py38-psutil" - "py38-setproctitle" os: [ubuntu-latest, windows-latest] include: - tox_env: "py36-pytestlatest" python: "3.6" - tox_env: "py37-pytestlatest" python: "3.7" - tox_env: "py38-pytestlatest" python: "3.8" - tox_env: "py39-pytestlatest" python: "3.9" - tox_env: "py310-pytestlatest" python: "3.10-dev" - tox_env: "py38-pytestmain" python: "3.8" - tox_env: "py38-psutil" python: "3.8" - tox_env: "py38-setproctitle" python: "3.8" steps: - uses: actions/checkout@v2 - 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@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: "3.7" - name: Install wheel run: | python -m pip install --upgrade pip pip install build - name: Build package run: | python -m build - name: Publish package to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.pypi_token }}