Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Integration Tests #22525

Integration Tests

Integration Tests #22525

name: Integration Tests
# zizmor ignore note: All caching for pushes to main should be disabled with the `USE_CACHE` env var
on: # zizmor: ignore[cache-poisoning]
pull_request:
workflow_dispatch:
schedule:
- cron: "0 4 * * *"
push:
tags:
- "*"
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
ALLOW_PLOTTING: true
SHELLOPTS: "errexit:pipefail"
TOX_COLORED: "yes"
USE_CACHE: ${{
(
(github.event_name == 'workflow_dispatch' && github.event.inputs.cache == 'true') ||
(github.event_name == 'pull_request') ||
(github.event_name == 'push')
) &&
!startsWith(github.ref, 'refs/tags/v') &&
!startsWith(github.ref, 'refs/heads/release/') &&
!startsWith(github.ref, 'refs/heads/main')
}}
permissions:
id-token: none
jobs:
Integration:
name: ${{matrix.project}}
strategy:
fail-fast: false
matrix:
project: ["mne", "trame", "pyvistaqt", "geovista"]
runs-on: ubuntu-22.04-self-hosted
defaults:
run:
shell: bash -l {0}
env:
DISPLAY: ":99.0"
MNE_LOGGING_LEVEL: "info"
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: pyvista/setup-headless-display-action@7d84ae825e6d9297a8e99bdbbae20d1b919a0b19
if: ${{matrix.project == 'pyvistaqt' || matrix.project == 'geovista'}}
with:
qt: ${{matrix.project == 'pyvistaqt'}}
pyvista: ${{matrix.project != 'pyvistaqt'}}
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install tox-uv
run: pip install tox-uv
- name: Run tests (no xvfb)
if: ${{matrix.project != 'geovista'}}
run: tox run -e integration-${{matrix.project}}
- name: Run tests (geovista)
if: ${{matrix.project == 'geovista'}}
run: xvfb-run -a tox run -e integration-${{matrix.project}}
- uses: actions/cache@v4
if: ${{ env.USE_CACHE == 'true' && matrix.project == 'mne' }}
with:
key: ${{ env.TESTING_VERSION }}
path: ~/mne_data