chore: Update missing or outdated files #1212
Workflow file for this run
This file contains hidden or 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 | |
| # run only on main branch. This avoids duplicated actions on PRs | |
| on: | |
| pull_request: | |
| push: | |
| tags: | |
| - "*" | |
| branches: | |
| - main | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| MAIN_PYTHON_VERSION: "3.13" | |
| PACKAGE_NAME: "ansys-workbench-core" | |
| DOCUMENTATION_CNAME: 'workbench.docs.pyansys.com' | |
| jobs: | |
| code-style: | |
| name: "Code style" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: ansys/actions/code-style@v10 | |
| with: | |
| python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
| doc-style: | |
| name: "Documentation Style Check" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: "Running documentation style checks" | |
| uses: ansys/actions/doc-style@v10 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| vulnerabilities: | |
| name: "Vulnerabilities" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: ansys/actions/check-vulnerabilities@123a1f17d71f117e0ba29c53d6a0f602e0d8d902 # v10.1.3 | |
| with: | |
| python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
| python-package-name: ${{ env.PACKAGE_NAME }} | |
| token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }} | |
| dev-mode: ${{ github.ref != 'refs/heads/main' }} | |
| actions-security: | |
| name: "Check actions security" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: ansys/actions/check-actions-security@123a1f17d71f117e0ba29c53d6a0f602e0d8d902 # v10.1.3 | |
| with: | |
| generate-summary: true | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| auditing-level: 'high' | |
| trust-ansys-actions: true | |
| update-changelog: | |
| name: "Update CHANGELOG (on release)" | |
| 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@v10 | |
| with: | |
| token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }} | |
| bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }} | |
| bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }} | |
| doc-build: | |
| name: "Build documentation" | |
| runs-on: ubuntu-latest | |
| needs: [doc-style] | |
| steps: | |
| - uses: ansys/actions/doc-build@v10 | |
| with: | |
| python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
| needs-quarto: true | |
| build-wheelhouse: | |
| name: "Build wheelhouse for latest Python versions" | |
| runs-on: ${{ matrix.os }} | |
| needs: [code-style] | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| python-version: ['3.10', '3.11', '3.12', '3.13'] | |
| steps: | |
| - name: "Build a wheelhouse for ${{ matrix.python-version }}" | |
| uses: ansys/actions/build-wheelhouse@v10 | |
| with: | |
| library-name: ${{ env.PACKAGE_NAME }} | |
| operating-system: ${{ matrix.os }} | |
| python-version: ${{ matrix.python-version }} | |
| unit-tests: | |
| name: "Test library" | |
| runs-on: [self-hosted, pyworkbench] | |
| needs: [build-wheelhouse] | |
| steps: | |
| - name: "Checkout project" | |
| uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - name: "Setup Python" | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
| - name: "Install dependencies" | |
| run: | | |
| python -m venv .venv | |
| .venv\Scripts\Activate.ps1 | |
| python -m pip install .[tests] | |
| - name: "Run tests" | |
| run: | | |
| .venv\Scripts\Activate.ps1 | |
| pytest -vv | |
| - name: "Upload coverage report" | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: coverage-html | |
| path: .cov/html | |
| - name: "Clean tasks" | |
| if: ${{ always() }} | |
| run: | | |
| $processNames = @("ANSYS", "ANSYS241", "AnsysWBU", "AnsysFWW", "RunWB2") | |
| $foundAnyProcess = $false | |
| foreach ($processName in $processNames) { | |
| $process = Get-Process -Name $processName -ErrorAction SilentlyContinue | |
| if ($process) { | |
| $process | Stop-Process -Force | |
| $foundAnyProcess = $true | |
| } else { | |
| Write-Output "No process named '$processName' was found." | |
| } | |
| } | |
| if (-not $foundAnyProcess) { | |
| Write-Output "No specified processes were found." | |
| } | |
| - name: "Remove temporary folders" | |
| if: ${{ always() }} | |
| run: | | |
| Get-ChildItem -Path "C:\Users\ansys\AppData\Local\Temp" -Directory -Filter "act_tmp*" | Remove-Item -Recurse -Force | |
| Get-ChildItem -Path "C:\Users\ansys\AppData\Local\Temp" -Directory -Filter "WB_ansys*" | Remove-Item -Recurse -Force | |
| continue-on-error: true # ignore locked files | |
| build-library: | |
| name: "Build library" | |
| runs-on: ubuntu-latest | |
| needs: [unit-tests, doc-build] | |
| steps: | |
| - uses: ansys/actions/build-library@v10 | |
| with: | |
| library-name: ${{ env.PACKAGE_NAME }} | |
| python-version: ${{ env.MAIN_PYTHON_VERSION }} | |
| release: | |
| name: Release project | |
| if: github.event_name == 'push' && contains(github.ref, 'refs/tags') | |
| needs: [build-library, update-changelog] | |
| runs-on: ubuntu-latest | |
| # Specifying a GitHub environment is optional, but strongly encouraged | |
| environment: release | |
| permissions: | |
| id-token: write | |
| contents: write | |
| steps: | |
| - name: Release to the private PyPI repository | |
| uses: ansys/actions/release-pypi-private@v10 | |
| with: | |
| library-name: ${{ env.PACKAGE_NAME }} | |
| twine-username: "__token__" | |
| twine-token: ${{ secrets.PYANSYS_PYPI_PRIVATE_PAT }} | |
| - name: "Download the library artifacts from build-library step" | |
| uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 | |
| with: | |
| name: ${{ env.PACKAGE_NAME }}-artifacts | |
| path: ${{ env.PACKAGE_NAME }}-artifacts | |
| - name: "Upload artifacts to PyPI using trusted publisher" | |
| uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0 | |
| with: | |
| repository-url: "https://upload.pypi.org/legacy/" | |
| print-hash: true | |
| packages-dir: ${{ env.PACKAGE_NAME }}-artifacts | |
| skip-existing: false | |
| - name: Release to GitHub | |
| uses: ansys/actions/release-github@v10 | |
| with: | |
| library-name: ${{ env.PACKAGE_NAME }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| generate_release_notes: false | |
| add-artifact-attestation-notes: true | |
| doc-deploy-dev: | |
| name: "Deploy development documentation" | |
| if: github.ref == 'refs/heads/main' | |
| runs-on: ubuntu-latest | |
| needs: doc-build | |
| steps: | |
| - uses: ansys/actions/doc-deploy-dev@v10 | |
| with: | |
| cname: ${{ env.DOCUMENTATION_CNAME }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }} | |
| bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }} | |
| doc-deploy-stable: | |
| name: "Deploy stable docs" | |
| 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@v10 | |
| with: | |
| cname: ${{ env.DOCUMENTATION_CNAME }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }} | |
| bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }} |