Setup GitHub Actions
This commit is contained in:
99
.github/workflows/main.yml
vendored
Normal file
99
.github/workflows/main.yml
vendored
Normal file
@@ -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 }}
|
||||||
Reference in New Issue
Block a user