[pre-commit.ci] pre-commit autoupdate #1019
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflows will upload a Python Package using Twine when a release is created | |
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries | |
name: tests | |
on: | |
push: | |
branches: | |
- master | |
- main | |
tags: | |
- "*" # Push events with any tag | |
pull_request: | |
branches: | |
- master | |
- main | |
workflow_dispatch: | |
jobs: | |
test: | |
name: ${{ matrix.platform }} py${{ matrix.python-version }} | |
runs-on: ${{ matrix.platform }} | |
strategy: | |
matrix: | |
platform: [ubuntu-latest, windows-latest] # macos-latest (disabled, see related issue) | |
python-version: [3.8, 3.9] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# these libraries, along with pytest-xvfb (added in the `deps` in tox.ini), | |
# enable testing on Qt on linux | |
- name: Install Linux libraries | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get install -y libdbus-1-3 libxkbcommon-x11-0 libxcb-icccm4 \ | |
libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 \ | |
libxcb-xinerama0 libxcb-xinput0 libxcb-xfixes0 | |
# strategy borrowed from vispy for installing opengl libs on windows | |
- name: Install Windows OpenGL | |
if: runner.os == 'Windows' | |
run: | | |
git clone --depth 1 https://github.com/pyvista/gl-ci-helpers.git | |
powershell gl-ci-helpers/appveyor/install_opengl.ps1 | |
# note: if you need dependencies from conda, considering using | |
# setup-miniconda: https://github.com/conda-incubator/setup-miniconda | |
# and | |
# tox-conda: https://github.com/tox-dev/tox-conda | |
- name: Set up conda ${{ matrix.python-version }} | |
uses: conda-incubator/[email protected] | |
with: | |
auto-update-conda: true | |
activate-environment: test | |
python-version: ${{ matrix.python-version }} | |
channels: conda-forge | |
- name: Conda info | |
shell: bash -l {0} | |
run: conda info | |
- name: Install dependencies | |
shell: bash -l {0} | |
run: | | |
python --version | |
conda install -y pyopencl hdbscan pip setuptools wheel pytest pytest-cov pytest-benchmark pytest-qt pyqt pytest-xvfb pandas | |
# pip install setuptools tox tox-gh-actions | |
pip install -e . | |
# pip install setuptools tox tox-gh-actions | |
# # conda install -c defaults scipy is needed otherwise tests crash on Windows due to FileNotFoundError. Remove this when the problem is fixed | |
# # this runs the platform-specific tests declared in tox.ini | |
# - name: Test with tox | |
# run: tox | |
# env: | |
# PLATFORM: ${{ matrix.platform }} | |
- name: Run tests | |
shell: bash -l {0} | |
run: pytest -v --cov=./ --cov-report=xml | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
deploy: | |
# this will run when you have tagged a commit, | |
# and requires that you have put your twine API key in your | |
# github secrets (see readme for details) | |
needs: [test] | |
runs-on: ubuntu-latest | |
if: contains(github.ref, 'tags') | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -U setuptools setuptools_scm wheel twine build | |
- name: Build and publish | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} | |
run: | | |
git tag | |
python -m build . | |
twine upload dist/* |