Skip to content

Python Test and Package #139

Python Test and Package

Python Test and Package #139

Workflow file for this run

name: Python Test and Package
on:
push:
branches:
- main
tags:
- 'v*'
pull_request:
branches:
- main
jobs:
linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.11
cache: 'pip'
- name: Linting with pre-commit
run: |
python -m pip install pre-commit
pre-commit run --all-files
test:
needs: linting
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8,3.9,'3.10', 3.11]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e .[vtk,dask,pyside] -r test/requirements.txt
sudo apt-get update
sudo apt install libegl1
- name: Test with pytest
env:
QT_QPA_PLATFORM: offscreen
run: |
python -m pytest
publish:
needs: test
name: Create Artifact
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Build package
run: |
python -m pip install twine build
python -m build --wheel --sdist
python -m twine check dist/*
ls -la dist
- name: Upload package
if: github.event_name == 'push'
uses: actions/upload-artifact@v4
with:
name: python-packages
path: dist