[pre-commit.ci] pre-commit autoupdate #965
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
# check spelling, codestyle | |
name: GitHub CI | |
# run only on main branch. This avoids duplicated actions on PRs | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
tags: | |
- "*" | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
MAIN_PYTHON_VERSION: '3.10' | |
PACKAGE_NAME: 'ansys-modelcenter-workflow' | |
PACKAGE_NAMESPACE: 'ansys.modelcenter.workflow' | |
DOCUMENTATION_CNAME: 'modelcenter.docs.pyansys.com' | |
jobs: | |
doc-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 }} | |
vale-version: "3.1.0" | |
smoke-tests: | |
name: "Build and Smoke tests" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: ['3.9', '3.10', '3.11', '3.12'] | |
# Only perform wheelhouse builds for Windows and macOS when releasing | |
should-release: | |
- ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }} | |
exclude: | |
- should-release: false | |
os: macos-latest | |
- should-release: false | |
os: windows-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 }} | |
build-tests: | |
name: "Build and unit testing" | |
needs: [smoke-tests] | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
python-version: ['3.9', '3.10', '3.11', '3.12'] | |
should-release: | |
- ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }} | |
steps: | |
- name: "Install Git and checkout project" | |
uses: actions/checkout@v4 | |
- name: "Setup Python" | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
- name: "Install packages for testing" | |
run: | | |
pip install --upgrade pip | |
pip install .[tests] | |
- name: "Testing" | |
run: pytest -v | |
- name: "Upload coverage artifacts" | |
uses: actions/upload-artifact@v4 | |
if: matrix.python-version == env.MAIN_PYTHON_VERSION | |
with: | |
name: coverage-html | |
path: .cov/html | |
retention-days: 7 | |
- name: "Upload coverage to Codecov" | |
uses: codecov/codecov-action@v4 | |
if: matrix.python-version == env.MAIN_PYTHON_VERSION | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: .cov/xml | |
doc-build: | |
name: "Documentation building" | |
runs-on: ubuntu-latest | |
needs: [doc-style] | |
steps: | |
- name: "Run Ansys documentation building action" | |
uses: ansys/actions/doc-build@v5 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
dependencies: "texlive-fonts-extra " | |
package: | |
name: "Package library" | |
needs: [build-tests, doc-build] | |
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 }} | |
doc-deploy-dev: | |
name: "Deploy developers documentation" | |
runs-on: ubuntu-latest | |
# Deploy development only when merging to main | |
if: github.ref == 'refs/heads/main' | |
needs: [package] | |
steps: | |
- name: "Deploy the latest documentation" | |
uses: ansys/actions/doc-deploy-dev@v5 | |
with: | |
cname: ${{ env.DOCUMENTATION_CNAME }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
release: | |
name: "Release project to public PyPI and GitHub" | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags') | |
needs: [package] | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Release to the public PyPI repository" | |
uses: ansys/actions/release-pypi-public@v5 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
twine-username: "__token__" | |
twine-token: ${{ secrets.PYPI_TOKEN }} | |
- name: "Release to GitHub" | |
uses: ansys/actions/release-github@v5 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
doc-deploy-stable: | |
name: "Deploy stable documentation" | |
# Deploy release documentation when creating a new tag | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags') | |
runs-on: ubuntu-latest | |
needs: [release] | |
steps: | |
- name: "Deploy the stable documentation" | |
uses: ansys/actions/doc-deploy-stable@v5 | |
with: | |
cname: ${{ env.DOCUMENTATION_CNAME }} | |
token: ${{ secrets.GITHUB_TOKEN }} |