Skip to content

Add screenshot tests #312

Add screenshot tests

Add screenshot tests #312

Workflow file for this run

name: tests
on:
push:
branches:
- 'main'
tags:
- 'v**'
pull_request:
workflow_dispatch:
#concurrency:
# # Cancel this workflow if it is running,
# # and then changes are applied on top of the HEAD of the branch,
# # triggering another run of the workflow
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: true
jobs:
# linting:
# runs-on: ubuntu-latest
# steps:
# - uses: neuroinformatics-unit/actions/lint@v2
#
# manifest:
# name: Check Manifest
# runs-on: ubuntu-latest
# steps:
# - uses: neuroinformatics-unit/actions/check_manifest@v2
test:
# needs: [linting, manifest]
name: ${{ matrix.os }} py${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# Run all supported Python versions on linux
# python-version: ["3.9", "3.10", "3.11"]
python-version: ["3.11" ]
os: [ubuntu-latest]
# Include one windows and macos run each of Intel/ARM
# include:
# - os: macos-13
# python-version: "3.11"
# - os: macos-latest
# python-version: "3.11"
# - os: windows-latest
# python-version: "3.11"
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install hdf5 libs for Mac
if: runner.os == 'macOS'
run: brew install hdf5
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install vedo
# Install other dependencies as needed
- name: Install Xvfb and additional dependencies on Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y xvfb libgl1-mesa-glx libosmesa6
- name: Set up Xvfb
if: matrix.os == 'ubuntu-latest'
run: |
Xvfb :99 -screen 0 1920x1080x24 &
export DISPLAY=:99
# Helps set up VTK with a headless display
- uses: pyvista/setup-headless-display-action@v2
with:
qt: true
# Sets up ffmpeg so we can run video tests on CI
- uses: FedericoCarboni/setup-ffmpeg@v2
if: matrix.os != 'macos-latest'
id: setup-ffmpeg
- name: Setup ffmpeg on latest Mac with brew
if: matrix.os == 'macos-latest'
run: brew install ffmpeg
- name: Run tests
uses: neuroinformatics-unit/actions/test@v2
with:
python-version: ${{ matrix.python-version }}
secret-codecov-token: ${{ secrets.CODECOV_TOKEN }}
build_sdist_wheels:
name: Build source distribution
needs: [test]
if: github.event_name == 'push' && github.ref_type == 'tag'
runs-on: ubuntu-latest
steps:
- uses: neuroinformatics-unit/actions/build_sdist_wheels@v2
upload_all:
name: Publish build distributions
needs: [build_sdist_wheels]
runs-on: ubuntu-latest
steps:
- uses: neuroinformatics-unit/actions/upload_pypi@v2
with:
secret-pypi-key: ${{ secrets.TWINE_API_KEY }}