Skip to content

feat: add PyEnSight #996

feat: add PyEnSight

feat: add PyEnSight #996

Workflow file for this run

name: GitHub CI
on:
pull_request:
workflow_dispatch:
push:
tags:
- "*"
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
PACKAGE_NAME: pyansys
PACKAGE_NAMESPACE: pyansys
MAIN_PYTHON_VERSION: '3.11'
DOCUMENTATION_CNAME: "docs.pyansys.com"
jobs:
check-licenses:
name: Check depencencies' licenses
runs-on: ubuntu-latest
steps:
- name: PyAnsys Licenses Check
uses: ansys/actions/check-licenses@main
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
target: "all"
docs-style:
name: Documentation Style Check
runs-on: ubuntu-latest
steps:
- name: PyAnsys documentation style checks
uses: ansys/actions/doc-style@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
smoke-tests-core:
name: Build core PyAnsys packages
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'pyproject.toml'
- name: Install core PyAnsys packages
run: |
pip install .
- name: Smoke test
run: python -c "from ${{ env.PACKAGE_NAMESPACE }} import __version__; print(__version__)"
smoke-tests-extras:
name: Build extras PyAnsys packages
runs-on: ${{ matrix.os }}
needs: [smoke-tests-core]
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
extras-version: ['fluent-all', 'mapdl-all']
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'pyproject.toml'
- name: Install ${{ matrix.extras-version }} PyAnsys packages
run: |
pip install .[${{ matrix.extras-version }}]
- name: Smoke test
run: python -c "from ${{ env.PACKAGE_NAMESPACE }} import __version__; print(__version__)"
wheelhouse-all:
name: Build PyAnsys package wheelhouse
runs-on: ${{ matrix.os }}
needs: [smoke-tests-core]
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
python-version: ['3.8', '3.9', '3.10', '3.11']
steps:
- name: Build wheelhouse and perform smoke test
uses: ansys/actions/build-wheelhouse@v4
with:
library-name: ${{ env.PACKAGE_NAME }}
library-namespace: ${{ env.PACKAGE_NAMESPACE }}
operating-system: ${{ runner.os }}
python-version: ${{ matrix.python-version }}
target: "all"
- name: List dependencies (pip freeze)
run: |
pip freeze > all-deps-${{ runner.os }}-${{ matrix.python-version }}.txt
cat all-deps-${{ runner.os }}-${{ matrix.python-version }}.txt
- name: Upload dependencies list
uses: actions/upload-artifact@v3
with:
name: all-deps-${{ runner.os }}-${{ matrix.python-version }}
path: all-deps-${{ runner.os }}-${{ matrix.python-version }}.txt
retention-days: 7
docs-build:
name: Building Documentation
runs-on: ubuntu-latest
needs: [docs-style]
steps:
- name: Build documentation
uses: ansys/actions/doc-build@v4
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
dependencies: "build-essential zip pandoc texlive-latex-extra latexmk texlive-pstricks"
- name: Deploy the latest documentation
uses: ansys/actions/doc-deploy-dev@v4
if: github.ref == 'refs/heads/main'
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}
package:
name: Package library
runs-on: ubuntu-latest
needs: [docs-build, smoke-tests-core]
steps:
- name: Build library source and wheel artifacts
uses: ansys/actions/build-library@v4
with:
library-name: ${{ env.PACKAGE_NAME }}
python-version: ${{ env.MAIN_PYTHON_VERSION }}
release:
name: Release project
if: github.event_name == 'push' && contains(github.ref, 'refs/tags')
needs: [package, smoke-tests-extras, wheelhouse-all]
runs-on: ubuntu-latest
steps:
- name: Release to PyPI repository
uses: ansys/actions/release-pypi-public@v4
with:
library-name: ${{ env.PACKAGE_NAME }}
twine-username: __token__
twine-token: ${{ secrets.PYPI_TOKEN }}
- name: Release to GitHub
uses: ansys/actions/release-github@v4
with:
library-name: ${{ env.PACKAGE_NAME }}
additional-artifacts: 'all-deps-Linux-3.8 all-deps-Linux-3.9 all-deps-Linux-3.10 all-deps-Linux-3.11 all-deps-Windows-3.8 all-deps-Windows-3.9 all-deps-Windows-3.10 all-deps-Windows-3.11 all-deps-macOS-3.8 all-deps-macOS-3.9 all-deps-macOS-3.10 all-deps-macOS-3.11'
docs-release:
name: Deploy release docs
runs-on: ubuntu-latest
needs: [release]
steps:
- name: Deploy the latest release documentation
uses: ansys/actions/doc-deploy-stable@v4
with:
cname: ${{ env.DOCUMENTATION_CNAME }}
token: ${{ secrets.GITHUB_TOKEN }}