Skip to content

Add workflow to test pyedb as pyaedt dependency #81

Add workflow to test pyedb as pyaedt dependency

Add workflow to test pyedb as pyaedt dependency #81

Workflow file for this run

name: Test pyedb as pyaedt dependency
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
tags:
- 'v*'
branches:
- main
pull_request:
branches: [ main ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }}
PYEDB_USE_LEGACY: '1'
PYVISTA_OFF_SCREEN: 'True'
# PYEDB_CI_NO_DISPLAY: '1'
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
pyaedt-test:
name: "Check pyaedt tests when pyedb is used as a dependency"
runs-on: [ windows, pyedb, self-hosted ]
steps:
- name: Install Git and clone project
uses: actions/checkout@v4
- name: Set up Python
uses: ansys/actions/_setup-python@main
with:
python-version: '3.10'
use-cache: false
- name: Create Python venv
run: |
python -m venv .venv
.\.venv\Scripts\Activate.ps1
- name: "Update pip"
run: |
.\.venv\Scripts\Activate.ps1
python -m pip install -U pip
- name: "Install Pyedb"
run: |
.\.venv\Scripts\Activate.ps1
pip install --no-cache-dir .
- name: "Clone pyaedt on specific branch"
uses: actions/checkout@v4
with:
repository: ansys/pyaedt
path: "external/pyaedt"
ref: "maint/use_pyedb"
# - name: "Install vtk"
# run: |
# .\.venv\Scripts\Activate.ps1
# python -m pip install vtk
# python -c "import vtk; print(vtk.VTK_VERSION)"
- name: "Install Pyaedt"
run: |
.\.venv\Scripts\Activate.ps1
pip install --no-cache-dir external/pyaedt[full]
- name: "Install Pyaedt test dependencies"
run: |
.\.venv\Scripts\Activate.ps1
pip install --no-cache-dir external/pyaedt[tests]
# mkdir tmp
# cd tmp
pip uninstall vtk -y
pip install --extra-index-url https://wheels.vtk.org vtk-osmesa==9.2.6
# pip install pyvista -U
# pip install vtk==9.2.6
# Copy-Item C:\actions-runner\opengl32.dll .venv\Lib\site-packages\vtkmodules -Force
# Copy-Item C:\actions-runner\*.dll .venv\Lib\site-packages\vtkmodules -Force
# Copy-Item -Path "C:\actions-runner\opengl32.dll" -Destination ".venv\Lib\site-packages\vtkmodules" -Force
- name: 'Pyaedt tests'
run: |
.\.venv\Scripts\Activate.ps1
Set-Item -Path env:PYTHONMALLOC -Value "malloc"
# This worked
# pytest -n 6 --dist loadfile --durations=50 -vv --cov=pyaedt --cov-report=xml --cov-report=html --junitxml=junit/test-results.xml -k "not test_create_pdf and not test_16_read_hdm and not plt and not Ploton and not plot and not Plot" external\pyaedt\_unittest
pytest -n 6 --dist loadfile --durations=50 -vv --cov=pyaedt --cov-report=xml --cov-report=html --junitxml=junit/test-results.xml -k "not test_create_pdf and not test_16_read_hdm" external\pyaedt\_unittest
# - name: 'Pyaedt tests'
# uses: nick-fields/retry@v2
# with:
# max_attempts: 3
# retry_on: error
# timeout_minutes: 50
# command: |
# .\.venv\Scripts\Activate.ps1
# Set-Item -Path env:PYTHONMALLOC -Value "malloc"
# # pytest --durations=50 -v --cov=external/pyaedt --cov-report=xml --cov-report=html --junitxml=junit/test-results.xml external\pyaedt\_unittest\test_12_1_PostProcessing.py::TestClass::test_14_Field_Ploton_cutplanedesignname
# pytest -n 6 --dist loadfile --durations=50 -vv --cov=pyaedt --cov-report=xml --cov-report=html --junitxml=junit/test-results.xml -k "not test_create_pdf and not test_16_read_hdm and not plt and not Ploton and not plot and not Plot" external\pyaedt\_unittest