Skip to content

Nightly Build

Nightly Build #576

Workflow file for this run

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