Nightly Build #589
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: Nightly Build | |
on: | |
workflow_dispatch: | |
inputs: | |
hps-version: | |
description: HPS version to test against | |
default: 'latest-dev' | |
type: choice | |
options: | |
- 'v1.0.2' | |
- 'v1.0.3' | |
- 'latest-dev' | |
schedule: | |
- cron: "0 2 * * *" | |
env: | |
MAIN_PYTHON_VERSION: '3.10' | |
PACKAGE_NAME: 'ansys-hps-client' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
style: | |
name: Code style | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools tox | |
- name: Test with tox | |
run: tox -e style | |
doc-style: | |
name: Documentation Style Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: PyAnsys documentation style checks | |
uses: ansys/actions/doc-style@v6 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tests: | |
strategy: | |
matrix: | |
os: ['ubuntu-latest'] | |
cfg: [ | |
{ python-version: '3.9', toxenv: 'py39' }, | |
{ python-version: '3.10', toxenv: 'py310' }, | |
{ python-version: '3.11', toxenv: 'py311' }, | |
{ python-version: '3.12', toxenv: 'py312' }, | |
] | |
fail-fast: false | |
uses: ./.github/workflows/tests.yml | |
secrets: inherit | |
with: | |
python-version: ${{ matrix.cfg.python-version }} | |
toxenv: ${{ matrix.cfg.toxenv }} | |
runner: ${{ matrix.os }} | |
hps-version: ${{ inputs.hps-version || 'latest-dev' }} | |
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@v6 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
operating-system: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
docs: | |
name: Documentation | |
runs-on: ubuntu-latest | |
needs: [style, doc-style] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools tox | |
# Necessary for creating PDF | |
sudo apt-get -y install latexmk | |
sudo apt install texlive-latex-extra | |
- name: Generate the documentation with tox | |
run: tox -e doc | |
- name: Upload HTML Documentation | |
uses: actions/upload-artifact@v4 | |
with: | |
name: documentation-html | |
path: doc/_build/html | |
retention-days: 7 | |
- name: Upload PDF Documentation | |
uses: actions/upload-artifact@v4 | |
with: | |
name: documentation-pdf | |
path: doc/_build/latex/*.pdf | |
retention-days: 7 |