Update fileiostructs.py #3490
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: GitHub CI | |
# run only on main branch. This avoids duplicated actions on PRs | |
on: | |
pull_request: | |
branches: | |
- main | |
- release/* | |
push: | |
tags: | |
- "v*" | |
branches: | |
- main | |
- release/* | |
env: | |
DOCKER_IMAGE_NAME: ghcr.io/ansys/prime | |
DOCKER_IMAGE_TAG: '25.1.0.dev20' | |
MAIN_PYTHON_VERSION: '3.10' | |
PACKAGE_NAME: 'ansys-meshing-prime' | |
PACKAGE_NAMESPACE: 'ansys.meshing.prime' | |
DOCUMENTATION_CNAME: 'prime.docs.pyansys.com' | |
RESET_IMAGE_CACHE: 0 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
update-changelog: | |
name: "Update CHANGELOG for new tag" | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags') | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- uses: ansys/actions/doc-deploy-changelog@v8 | |
with: | |
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }} | |
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }} | |
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }} | |
style: | |
name: Code style | |
runs-on: ubuntu-latest | |
steps: | |
- name: PyAnsys code style checks | |
uses: ansys/actions/code-style@v8 | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
vale-config: "doc/.vale.ini" | |
vale-version: "3.4.1" | |
docs-style: | |
name: Documentation Style Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: PyAnsys documentation style checks | |
uses: ansys/actions/doc-style@v8 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
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.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@v8 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
library-namespace: ${{ env.PACKAGE_NAMESPACE }} | |
operating-system: ${{ matrix.os }} | |
python-version: ${{ matrix.python-version }} | |
docs: | |
name: Documentation | |
runs-on: ubuntu-latest | |
needs: [docs-style] | |
steps: | |
- name: Login in Github Container registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ansys-bot | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Pull, launch, and validate prime service | |
run: docker pull ${{ env.DOCKER_IMAGE_NAME }}:${{ env.DOCKER_IMAGE_TAG }} | |
- name: Setup headless display | |
uses: pyvista/setup-headless-display-action@v2 | |
- name: "Run Ansys documentation building action" | |
uses: ansys/actions/doc-build@v8 | |
with: | |
check-links: false | |
needs-quarto: true | |
sphinxopts: "-j auto --keep-going" | |
env: | |
PYPRIMEMESH_LAUNCH_CONTAINER: 1 | |
PYPRIMEMESH_SPHINX_BUILD: 1 | |
PYPRIMEMESH_IMAGE_TAG: ${{ env.DOCKER_IMAGE_TAG }} | |
ANSYSLMD_LICENSE_FILE: '1055@${{ secrets.LICENSE_SERVER }}' | |
testing: | |
name: Run Unit Tests | |
needs: [ smoke-tests ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Login in Github Container registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ansys-bot | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Pull Ansys Prime Server | |
run: docker pull ${{ env.DOCKER_IMAGE_NAME }}:${{ env.DOCKER_IMAGE_TAG }} | |
- name: Restore images cache | |
uses: actions/cache@v4 | |
with: | |
path: tests/graphics/image_cache | |
key: pyvista-image-cache-${{ runner.os }}-v-${{ env.RESET_IMAGE_CACHE }}-${{ hashFiles('pyproject.toml') }} | |
restore-keys: pyvista-image-cache-${{ runner.os }}-v-${{ env.RESET_IMAGE_CACHE }} | |
- name: "Run pytest" | |
uses: ansys/actions/tests-pytest@v8 | |
env: | |
PYPRIMEMESH_LAUNCH_CONTAINER: 1 | |
PYPRIMEMESH_IMAGE_TAG: ${{ env.DOCKER_IMAGE_TAG }} | |
ANSYSLMD_LICENSE_FILE: '1055@${{ secrets.LICENSE_SERVER }}' | |
with: | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
- name: Upload PyVista generated images (cache and results) | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pytest-pyvista-images-${{ runner.os }} | |
path: tests/graphics/image_cache | |
retention-days: 7 | |
- uses: codecov/codecov-action@v4 | |
name: 'Upload coverage to CodeCov' | |
package: | |
name: Package library | |
needs: [testing, docs] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Build library source and wheel artifacts | |
uses: ansys/actions/build-library@v8 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
release: | |
name: Release project | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | |
needs: [package, update-changelog] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Release to the public PyPI repository | |
uses: ansys/actions/release-pypi-public@v8 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
twine-username: "__token__" | |
twine-token: ${{ secrets.PYPI_TOKEN }} | |
- name: Release to GitHub | |
uses: ansys/actions/release-github@v8 | |
with: | |
library-name: ${{ env.PACKAGE_NAME }} | |
upload_dev_docs: | |
name: Upload dev documentation | |
if: github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
needs: [package] | |
steps: | |
- name: Deploy the latest documentation | |
uses: ansys/actions/doc-deploy-dev@v8 | |
with: | |
cname: ${{ env.DOCUMENTATION_CNAME }} | |
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }} | |
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }} | |
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }} | |
upload_docs_release: | |
name: Upload release documentation | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && !contains(github.ref, 'dev') | |
runs-on: ubuntu-latest | |
needs: [release] | |
steps: | |
- name: Deploy the stable documentation | |
uses: ansys/actions/doc-deploy-stable@v8 | |
with: | |
cname: ${{ env.DOCUMENTATION_CNAME }} | |
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }} | |
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }} | |
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }} | |
python-version: ${{ env.MAIN_PYTHON_VERSION }} |