From 2dcb40799f11fa3ec50cd0957da418060fbb361a Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Sat, 12 Dec 2020 11:45:40 -0300 Subject: [PATCH] Setup GitHub Actions --- .github/workflows/main.yml | 99 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..df2735b --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,99 @@ +name: build + +on: [push, pull_request] + +jobs: + build: + + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + tox_env: + - "py35-pytestlatest" + - "py36-pytestlatest" + - "py37-pytestlatest" + - "py38-pytestlatest" + - "py39-pytestlatest" + - "py38-pytestmaster" + - "py38-psutil" + - "linting" + + os: [ubuntu-latest, windows-latest] + include: + - tox_env: "py35-pytestlatest" + python: "3.5" + - 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: "py38-pytestmaster" + python: "3.8" + - tox_env: "py38-psutil" + python: "3.8" + - tox_env: "linting" + python: "3.8" + + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + 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 }} + + linting: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: "3.7" + - name: Install tox + run: | + python -m pip install --upgrade pip + pip install tox + - name: Linting + run: | + tox -e linting + + deploy: + + if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') + + runs-on: ubuntu-latest + + needs: [build, linting] + + 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 }}