feat: Tech review #28
Workflow file for this run
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
name: GitHub CI | |
on: | |
pull_request: | |
workflow_dispatch: | |
push: | |
tags: | |
- "*" | |
branches: | |
- main | |
env: | |
MAIN_PYTHON_VERSION: '3.11' | |
RESET_IMAGE_CACHE: 0 | |
PACKAGE_NAME: pyansys-visualizer | |
PYANSYS_VISUALIZER_TESTMODE: true | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
branch-name: | |
if: github.event_name == 'pull_request' | |
name: Check the name of the branch | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check branch name | |
uses: ansys/actions/branch-name-style@main | |
style: | |
name: Code style | |
runs-on: ubuntu-latest | |
steps: | |
- name: PyAnsys code style checks | |
uses: ansys/actions/code-style@v5 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
docs-style: | |
name: Documentation Style Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: PyAnsys documentation style checks | |
uses: ansys/actions/doc-style@v5 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
docs-build: | |
name: Documentation Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup headless display | |
uses: pyvista/setup-headless-display-action@v2 | |
- name: "Run Ansys documentation building action" | |
uses: ansys/actions/doc-build@v5 | |
with: | |
check-links: false | |
smoke-tests: | |
name: Build and Smoke tests | |
runs-on: ${{ matrix.os }} | |
needs: [style] | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: ['3.9', '3.10', '3.11', '3.12'] | |
should-release: | |
- ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }} | |
exclude: | |
- should-release: false | |
os: macos-latest | |
steps: | |
- name: Build wheelhouse and perform smoke test | |
uses: ansys/actions/build-wheelhouse@v5 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
operating-system: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
testing: | |
name: Run Unit Tests | |
needs: [ smoke-tests ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Restore images cache | |
uses: actions/cache@v3 | |
with: | |
path: tests/graphics/image_cache | |
key: pyvista-image-cache-${{ runner.os }}-v-${{ env.RESET_IMAGE_CACHE }}-${{ hashFiles('pyproject.toml') }} | |
restore-keys: pyvista-image-cache-${{ runner.os }}-v-${{ env.RESET_IMAGE_CACHE }} | |
- name: "Run pytest" | |
uses: ansys/actions/tests-pytest@v5 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
requires-xvfb: true | |
- name: Upload PyVista generated images (cache and results) | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-pyvista-images-${{ runner.os }} | |
path: tests/graphics/image_cache | |
retention-days: 7 | |
- uses: codecov/codecov-action@v3 | |
name: 'Upload coverage to CodeCov' | |
package: | |
name: Package library | |
needs: [testing] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Build library source and wheel artifacts | |
uses: ansys/actions/build-library@v5 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} |