summaryrefslogtreecommitdiff
path: root/.github/workflows/python-tests.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/python-tests.yml')
-rw-r--r--.github/workflows/python-tests.yml94
1 files changed, 94 insertions, 0 deletions
diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml
new file mode 100644
index 0000000..4822766
--- /dev/null
+++ b/.github/workflows/python-tests.yml
@@ -0,0 +1,94 @@
+name: python tests+artifacts+release
+
+on:
+ pull_request:
+ push:
+ branches: [master]
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ python_version: [ '2.7', '3.5', '3.6', '3.7', '3.8', 'pypy2', 'pypy3' ]
+ os: [windows-latest, ubuntu-latest] #, macos-latest]
+ exclude:
+ - os: windows-latest
+ python_version: "2.7"
+ - os: windows-latest
+ python_version: "pypy2"
+ name: ${{ matrix.os }} - Python ${{ matrix.python_version }}
+ steps:
+ - uses: actions/checkout@v1
+ - name: Setup python
+ uses: actions/setup-python@v1
+ with:
+ python-version: ${{ matrix.python_version }}
+ architecture: x64
+ - run: pip install -e .[toml] pytest
+ - run: pytest
+
+
+ eggs:
+ runs-on: ubuntu-latest
+
+ needs: [build]
+ name: Python ${{ matrix.python_version }} eggs
+ strategy:
+ matrix:
+ python_version: ['2.7', '3.5', '3.6', '3.7', '3.8']
+ steps:
+ - uses: actions/checkout@v1
+ - name: Set up Python
+ uses: actions/setup-python@v1
+ with:
+ python-version: ${{ matrix.python_version }}
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install --upgrade wheel setuptools
+ - name: Build package
+ run: |
+ python setup.py bdist_egg
+ - uses: actions/upload-artifact@v2
+ with:
+ name: dist
+ path: dist
+
+ dist:
+ runs-on: ubuntu-latest
+
+ needs: [build]
+ name: Python bdist/wheel
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions/setup-python@v1
+ with:
+ python-version: "3.8"
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install --upgrade wheel setuptools
+ - name: Build package
+ run: |
+ python setup.py bdist_wheel sdist
+ - uses: actions/upload-artifact@v2
+ with:
+ name: dist
+ path: dist
+
+ dist_upload:
+
+ runs-on: ubuntu-latest
+ if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') && github.repository == 'pypa/setuptools_scm'
+ needs: [eggs, dist]
+ steps:
+ - uses: actions/download-artifact@v2
+ with:
+ name: dist
+ - name: Publish package to PyPI
+ uses: pypa/gh-action-pypi-publish@master
+ with:
+ user: __token__
+ password: ${{ secrets.pypi_token }}