Improve doc #88
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: "CI" | |
on: | |
pull_request: | |
push: | |
tags: | |
- "v*.*.*" | |
branches: | |
- main | |
workflow_dispatch: | |
inputs: | |
logLevel: | |
description: 'Log level' | |
required: true | |
default: 'warning' | |
env: | |
MAIN_PYTHON_VERSION: '3.10' | |
DOCUMENTATION_CNAME: 'aedt.common.toolkit.docs.pyansys.com' | |
LIBRARY_NAME: 'ansys-aedt-toolkits-common' | |
LIBRARY_NAMESPACE: 'ansys.aedt.toolkits.common' | |
ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
code-style: | |
name: "Code style" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: ansys/actions/code-style@v5 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
use-python-cache: false | |
doc-style: | |
name: "Documentation style" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: ansys/actions/doc-style@v5 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
doc-build: | |
name: "Build documentation" | |
runs-on: [self-hosted, pyaedt, toolkits, Windows] | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Set up Python" | |
uses: ansys/actions/_setup-python@main | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
use-cache: false | |
- name: 'Create virtual env' | |
run: | | |
python -m venv .venv | |
- name: "Update pip" | |
run: | | |
. .venv\Scripts\Activate.ps1 | |
python -m pip install pip -U | |
python -m pip install wheel setuptools -U | |
python -c "import sys; print(sys.executable)" | |
- name: Install common toolkit with doc dependencies | |
run: | | |
. .venv\Scripts\Activate.ps1 | |
pip install . | |
pip install .[doc] | |
- name: Retrieve common toolkit version | |
run: | | |
. .venv\Scripts\Activate.ps1 | |
echo "Common Toolkit version is: $(python -c "from ansys.aedt.toolkits.common import __version__; print(); print(__version__)")" | |
- name: Build the documentation (HTML) | |
run: | | |
.\.venv\Scripts\Activate.ps1 | |
cd doc | |
.\make.bat html | |
# - name: Build the documentation (PDF) | |
# run: | | |
# .\.venv\Scripts\Activate.ps1 | |
# cd doc | |
# .\make.bat pdf | |
- name: Upload HTML Documentation artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: documentation-html | |
path: doc/_build/html | |
retention-days: 1 | |
# - name: Upload PDF Documentation artifact | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: documentation-pdf | |
# path: doc/_build/latex/*.pdf | |
# retention-days: 7 | |
smoke-tests: | |
name: "Build and Smoke tests" | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ windows-latest, ubuntu-latest ] | |
python-version: [ '3.10' ] | |
runs-on: ${{ matrix.os }} | |
needs: [ code-style ] | |
steps: | |
- uses: ansys/actions/build-wheelhouse@v5 | |
with: | |
library-name: ${{ env.LIBRARY_NAME }} | |
operating-system: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
tests_windows_aedt: | |
name: "Windows Tests AEDT" | |
strategy: | |
matrix: | |
python-version: [ '3.10' ] | |
fail-fast: false | |
runs-on: [self-hosted, pyaedt, toolkits, Windows] | |
needs: [smoke-tests] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Create Python venv | |
run: | | |
python -m venv .venv | |
.\.venv\Scripts\Activate.ps1 | |
- name: Install packages for testing | |
run: | | |
.\.venv\Scripts\Activate.ps1 | |
python -m pip install --upgrade pip | |
pip install --upgrade build wheel | |
pip install .[tests] | |
- name: Test AEDT Common API | |
timeout-minutes: 5 | |
run: | | |
.\.venv\Scripts\Activate.ps1 | |
pytest -v -m aedt_common_api --cov | |
- name: Test Common API | |
timeout-minutes: 5 | |
run: | | |
.\.venv\Scripts\Activate.ps1 | |
pytest -v -m common_api --cov --cov-append | |
- name: Test EDB API | |
timeout-minutes: 5 | |
run: | | |
.\.venv\Scripts\Activate.ps1 | |
pytest -v -m edb_api --cov --cov-append | |
- name: Test REST API | |
timeout-minutes: 5 | |
run: | | |
.\.venv\Scripts\Activate.ps1 | |
pytest -v -m rest_api --cov --cov-append | |
- name: "Combine coverage files" | |
run: | | |
.\.venv\Scripts\Activate.ps1 | |
python -m coverage html -d .cov\total-html | |
python -m coverage xml -o .cov\total.xml | |
- name: "Upload coverage results" | |
if: ${{ matrix.python-version == env.MAIN_PYTHON_VERSION }} | |
uses: actions/upload-artifact@v4 | |
with: | |
path: .cov/total-html | |
name: html-total-coverage | |
- name: "Upload coverage report to codecov" | |
if: ${{ matrix.python-version == env.MAIN_PYTHON_VERSION }} | |
uses: codecov/codecov-action@v4 | |
with: | |
file: .cov/total.xml | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
build-library: | |
name: "Build library artifacts" | |
runs-on: ubuntu-latest | |
needs: [ doc-build, tests_windows_aedt ] | |
steps: | |
- uses: ansys/actions/build-library@v5 | |
with: | |
library-name: ${{ env.LIBRARY_NAME }} | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
release: | |
name: "Release" | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags') | |
needs: build-library | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Release to the private PyPI" | |
uses: ansys/actions/release-pypi-private@v5 | |
with: | |
library-name: ${{ env.LIBRARY_NAME }} | |
twine-username: "__token__" | |
twine-token: ${{ secrets.PYANSYS_PYPI_PRIVATE_PAT }} | |
# - name: "Release to the public PyPI repository" | |
# uses: ansys/actions/release-pypi-public@v4 | |
# with: | |
# library-name: ${{ env.LIBRARY_NAME }} | |
# twine-username: "__token__" | |
# twine-token: ${{ secrets.PYPI_TOKEN }} | |
- name: "Release to GitHub" | |
uses: ansys/actions/release-github@v5 | |
with: | |
library-name: ${{ env.LIBRARY_NAME }} | |
doc-deploy-dev: | |
name: "Deploy development documentation" | |
runs-on: ubuntu-latest | |
needs: build-library | |
if: github.event_name == 'push' | |
steps: | |
- uses: ansys/actions/doc-deploy-dev@v5 | |
with: | |
cname: ${{ env.DOCUMENTATION_CNAME }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
doc-deploy-stable: | |
name: "Deploy stable documentation" | |
runs-on: ubuntu-latest | |
needs: release | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags') | |
steps: | |
- uses: ansys/actions/doc-deploy-stable@v5 | |
with: | |
cname: ${{ env.DOCUMENTATION_CNAME }} | |
token: ${{ secrets.GITHUB_TOKEN }} |