diff --git a/.github/workflows/ci_cd.yml b/.github/workflows/ci_cd.yml index ec121bfe09..d65f0434e8 100644 --- a/.github/workflows/ci_cd.yml +++ b/.github/workflows/ci_cd.yml @@ -1,340 +1,340 @@ -name: GitHub CI -on: - pull_request: - workflow_dispatch: - push: - tags: - - "*" - branches: - - main - -env: - ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} - PYEDB_USE_LEGACY: '1' - MAIN_PYTHON_VERSION: '3.10' - MAIN_PYTHON_VERSION_WINDOWS_SELFHOSTED: '3.9' - PACKAGE_NAME: 'pyedb' - DOCUMENTATION_CNAME: 'pyedb.docs.pyansys.com' - VTK_OSMESA: 'vtk-osmesa==9.2.20230527.dev0' - IS_WORKFLOW_RUNNING: True - ARTIFACTORY_VERSION: v242 - MEILISEARCH_API_KEY: ${{ secrets.MEILISEARCH_API_KEY }} - MEILISEARCH_HOST_URL: ${{ vars.MEILISEARCH_HOST_URL }} - MEILISEARCH_PUBLIC_API_KEY: ${{ secrets.MEILISEARCH_PUBLIC_API_KEY }} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - - docs-style: - name: Check documentation style - runs-on: ubuntu-latest - steps: - - name: Check documentation style - uses: ansys/actions/doc-style@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - vale-config: "doc/.vale.ini" - vale-version: "2.29.6" - - # TODO: uncomment once this repo is public - # smoke-tests: - # name: Build and Smoke tests - # runs-on: ${{ matrix.os }} - # strategy: - # fail-fast: false - # matrix: - # os: [ubuntu-latest, windows-latest] - # python-version: ['3.9', '3.10', '3.11'] - # should-release: - # - ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }} - # steps: - # - name: Build wheelhouse and perform smoke test - # uses: ansys/actions/build-wheelhouse@v4 - # with: - # library-name: ${{ env.PACKAGE_NAME }} - # operating-system: ${{ matrix.os }} - # python-version: ${{ matrix.python-version }} - -# ================================================================================================= -# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv RUNNING ON SELF-HOSTED RUNNER vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv -# ================================================================================================= - - legacy-tests: - name: "Check legacy tests" - # needs: [smoke-tests] - runs-on: [ windows, pyedb, self-hosted ] - steps: - - name: "Install Git and clone project" - uses: actions/checkout@v4 - - - name: "Set up Python" - uses: ansys/actions/_setup-python@main - with: - python-version: ${{ env.MAIN_PYTHON_VERSION_WINDOWS_SELFHOSTED }} - use-cache: false - - - name: Create Python venv - run: | - python -m venv .venv - . .venv\Scripts\Activate.ps1 - - - name: "Update pip" - run: | - . .venv\Scripts\Activate.ps1 - python -m pip install -U pip - - - name: "Install Python library and tests dependencies" - run: | - . .venv\Scripts\Activate.ps1 - python -m pip install .[tests] - - - name: "Install specific vtk version with OSMesa bundled" - run: | - . .venv\Scripts\Activate.ps1 - pip uninstall vtk -y - # Note: the vtk-osmesa used is 9.2.X as 9.3.0 is not working - # well with the use of pyvista in our tests atm. - # TODO: update once a stable versio is working - pip install --extra-index-url https://wheels.vtk.org ${{ env.VTK_OSMESA }} - - - name: "Executing legacy tests" - run: | - . .venv\Scripts\Activate.ps1 - pytest -m "legacy" -n auto --dist loadfile -v - - - name: Upload Coverage Results - if: always() - uses: actions/upload-artifact@v3 - with: - name: legacy-coverage-html - path: .cov/html - retention-days: 7 - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 - if: matrix.docker-image == 'windows-latest' - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - with: - files: .cov/xml - -# ================================================================================================= -# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv RUNNING ON SELF-HOSTED RUNNER vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv -# ================================================================================================= - - legacy-examples: - name: "Check legacy examples" - needs: [legacy-tests] - runs-on: [ windows, pyedb, self-hosted ] - env: - PYEDB_CI_NO_DISPLAY: '1' - steps: - - name: "Install Git and clone project" - uses: actions/checkout@v4 - - - name: "Set up Python" - uses: ansys/actions/_setup-python@main - with: - python-version: ${{ env.MAIN_PYTHON_VERSION_WINDOWS_SELFHOSTED }} - use-cache: false - - - name: Create Python venv - run: | - python -m venv .venv - . .venv\Scripts\Activate.ps1 - - - name: "Update pip" - run: | - . .venv\Scripts\Activate.ps1 - python -m pip install -U pip - - - name: Install pyedb - run: | - . .venv\Scripts\Activate.ps1 - pip install .[full] - - - name: Execute legacy examples (except pyaedt related and 01) - run: | - . .venv\Scripts\Activate.ps1 - $excluded_example = "01_edb_example.py" - # TODO: once pyaedt examples are passing, use -Recurse to cover them - Get-ChildItem -Path examples/legacy -Filter *.py -File | ? { $_.Name -ne $excluded_example } | ForEach-Object { - Write-Host "Executing example $($_.FullName)" - python $_.FullName - } - - # - name: "Clone pyaedt on specific branch" - # uses: actions/checkout@v4 - # with: - # repository: ansys/pyaedt - # path: "external/pyaedt" - # ref: "maint/use_pyedb" - - # - name: "Install Pyaedt" - # run: | - # .\.venv\Scripts\Activate.ps1 - # pip install --no-cache-dir external/pyaedt[full] - - # - name: Execute legacy pyaedt integration examples - # run: | - # . .venv\Scripts\Activate.ps1 - # Get-ChildItem -Path examples/legacy/pyaedt_integration -Filter *.py -File | ? { $_.Name -ne $excluded_example } | ForEach-Object { - # Write-Host "Executing pyaedt integration example $($_.FullName)" - # python $_.FullName - # } - - docs-build: - name: Build documentation - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v4 - - - name: "Set up Python" - uses: ansys/actions/_setup-python@main - with: - python-version: ${{ env.MAIN_PYTHON_VERSION }} - use-cache: false - - - name: Create Python venv - run: | - python -m venv .venv - - - name: "Update pip" - run: | - . .venv/bin/activate - python -m pip install -U pip - - - name: Install pyedb with doc dependencies - run: | - . .venv/bin/activate - pip install .[doc] - - - name: Verify that pyedb can be imported - run: | - . .venv/bin/activate - python -c "import pyedb" - - - name: Retrieve pyedb version - run: | - . .venv/bin/activate - echo "Pyedb version: $(python -c "from pyedb import __version__; print(); print(__version__)" | tail -1)" - - - name: Install doc build requirements - run: | - sudo apt install graphviz - - # Run doc build, without creating the examples directory. - # NOTE: we have to add the examples file here since it won't be created as gallery is disabled on linux. - - name: Documentation Build - run: | - . .venv/bin/activate - make -C doc clean - mkdir doc/source/examples -p - echo $'Examples\n========' > doc/source/examples/index.rst - make -C doc html SPHINXOPTS="-j auto -w build_errors.txt -N" - - # Verify that sphinx generates no warnings - - name: Check for warnings - run: | - . .venv/bin/activate - python doc/print_errors.py - - - name: Upload Documentation - uses: actions/upload-artifact@v3 - with: - name: Documentation - path: doc/_build/html - retention-days: 1 - - package: - name: Package library - needs: [legacy-tests, legacy-examples, docs-build] - runs-on: ubuntu-latest - steps: - - name: Build library source and wheel artifacts - uses: ansys/actions/build-library@v4 - 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: [package] - runs-on: ubuntu-latest - steps: - - name: Release to GitHub - uses: ansys/actions/release-github@v4 - 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@v4 - with: - cname: ${{ env.DOCUMENTATION_CNAME }} - token: ${{ secrets.GITHUB_TOKEN }} - - doc-index-dev: - name: "Deploy dev index docs" - if: github.ref == 'refs/heads/main' - runs-on: ubuntu-latest - needs: upload-dev-docs - steps: - - name: "Deploy the latest documentation index" - uses: ansys/actions/doc-deploy-index@v4 - with: - cname: ${{ env.DOCUMENTATION_CNAME }}/version/dev - index-name: pyedb-vdev - host-url: ${{ env.MEILISEARCH_HOST_URL }} - api-key: ${{ env.MEILISEARCH_API_KEY }} - python-version: ${{ env.MAIN_PYTHON_VERSION }} - - upload-docs-release: - name: Upload release documentation - 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@v4 - with: - cname: ${{ env.DOCUMENTATION_CNAME }} - token: ${{ secrets.GITHUB_TOKEN }} - - doc-index-stable: - name: "Deploy stable docs index" - runs-on: ubuntu-latest - needs: upload-docs-release - steps: - - name: "Install Git and clone project" - uses: actions/checkout@v4 - - - name: "Install the package requirements" - run: pip install -e . - - - name: "Get the version to PyMeilisearch" - run: | - VERSION=$(python -c "from pyedb import __version__; print('.'.join(__version__.split('.')[:2]))") - VERSION_MEILI=$(python -c "from pyedb import __version__; print('-'.join(__version__.split('.')[:2]))") - echo "Calculated VERSION: $VERSION" - echo "Calculated VERSION_MEILI: $VERSION_MEILI" - echo "VERSION=$VERSION" >> $GITHUB_ENV - echo "VERSION_MEILI=$VERSION_MEILI" >> $GITHUB_ENV - - - name: "Deploy the latest documentation index" - uses: ansys/actions/doc-deploy-index@v4 - with: - cname: ${{ env.DOCUMENTATION_CNAME }}/version/${{ env.VERSION }} - index-name: pyedb-v${{ env.VERSION_MEILI }} - host-url: ${{ env.MEILISEARCH_HOST_URL }} - api-key: ${{ env.MEILISEARCH_API_KEY }} - python-version: ${{ env.MAIN_PYTHON_VERSION }} +# name: GitHub CI +# on: +# pull_request: +# workflow_dispatch: +# push: +# tags: +# - "*" +# branches: +# - main + +# env: +# ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} +# PYEDB_USE_LEGACY: '1' +# MAIN_PYTHON_VERSION: '3.10' +# MAIN_PYTHON_VERSION_WINDOWS_SELFHOSTED: '3.9' +# PACKAGE_NAME: 'pyedb' +# DOCUMENTATION_CNAME: 'pyedb.docs.pyansys.com' +# VTK_OSMESA: 'vtk-osmesa==9.2.20230527.dev0' +# IS_WORKFLOW_RUNNING: True +# ARTIFACTORY_VERSION: v242 +# MEILISEARCH_API_KEY: ${{ secrets.MEILISEARCH_API_KEY }} +# MEILISEARCH_HOST_URL: ${{ vars.MEILISEARCH_HOST_URL }} +# MEILISEARCH_PUBLIC_API_KEY: ${{ secrets.MEILISEARCH_PUBLIC_API_KEY }} + +# concurrency: +# group: ${{ github.workflow }}-${{ github.ref }} +# cancel-in-progress: true + +# jobs: + +# docs-style: +# name: Check documentation style +# runs-on: ubuntu-latest +# steps: +# - name: Check documentation style +# uses: ansys/actions/doc-style@v4 +# with: +# token: ${{ secrets.GITHUB_TOKEN }} +# vale-config: "doc/.vale.ini" +# vale-version: "2.29.6" + +# # TODO: uncomment once this repo is public +# # smoke-tests: +# # name: Build and Smoke tests +# # runs-on: ${{ matrix.os }} +# # strategy: +# # fail-fast: false +# # matrix: +# # os: [ubuntu-latest, windows-latest] +# # python-version: ['3.9', '3.10', '3.11'] +# # should-release: +# # - ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags') }} +# # steps: +# # - name: Build wheelhouse and perform smoke test +# # uses: ansys/actions/build-wheelhouse@v4 +# # with: +# # library-name: ${{ env.PACKAGE_NAME }} +# # operating-system: ${{ matrix.os }} +# # python-version: ${{ matrix.python-version }} + +# # ================================================================================================= +# # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv RUNNING ON SELF-HOSTED RUNNER vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv +# # ================================================================================================= + +# legacy-tests: +# name: "Check legacy tests" +# # needs: [smoke-tests] +# runs-on: [ windows, pyedb, self-hosted ] +# steps: +# - name: "Install Git and clone project" +# uses: actions/checkout@v4 + +# - name: "Set up Python" +# uses: ansys/actions/_setup-python@main +# with: +# python-version: ${{ env.MAIN_PYTHON_VERSION_WINDOWS_SELFHOSTED }} +# use-cache: false + +# - name: Create Python venv +# run: | +# python -m venv .venv +# . .venv\Scripts\Activate.ps1 + +# - name: "Update pip" +# run: | +# . .venv\Scripts\Activate.ps1 +# python -m pip install -U pip + +# - name: "Install Python library and tests dependencies" +# run: | +# . .venv\Scripts\Activate.ps1 +# python -m pip install .[tests] + +# - name: "Install specific vtk version with OSMesa bundled" +# run: | +# . .venv\Scripts\Activate.ps1 +# pip uninstall vtk -y +# # Note: the vtk-osmesa used is 9.2.X as 9.3.0 is not working +# # well with the use of pyvista in our tests atm. +# # TODO: update once a stable versio is working +# pip install --extra-index-url https://wheels.vtk.org ${{ env.VTK_OSMESA }} + +# - name: "Executing legacy tests" +# run: | +# . .venv\Scripts\Activate.ps1 +# pytest -m "legacy" -n auto --dist loadfile -v + +# - name: Upload Coverage Results +# if: always() +# uses: actions/upload-artifact@v3 +# with: +# name: legacy-coverage-html +# path: .cov/html +# retention-days: 7 + +# - name: Upload coverage to Codecov +# uses: codecov/codecov-action@v3 +# if: matrix.docker-image == 'windows-latest' +# env: +# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} +# with: +# files: .cov/xml + +# # ================================================================================================= +# # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv RUNNING ON SELF-HOSTED RUNNER vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv +# # ================================================================================================= + +# legacy-examples: +# name: "Check legacy examples" +# needs: [legacy-tests] +# runs-on: [ windows, pyedb, self-hosted ] +# env: +# PYEDB_CI_NO_DISPLAY: '1' +# steps: +# - name: "Install Git and clone project" +# uses: actions/checkout@v4 + +# - name: "Set up Python" +# uses: ansys/actions/_setup-python@main +# with: +# python-version: ${{ env.MAIN_PYTHON_VERSION_WINDOWS_SELFHOSTED }} +# use-cache: false + +# - name: Create Python venv +# run: | +# python -m venv .venv +# . .venv\Scripts\Activate.ps1 + +# - name: "Update pip" +# run: | +# . .venv\Scripts\Activate.ps1 +# python -m pip install -U pip + +# - name: Install pyedb +# run: | +# . .venv\Scripts\Activate.ps1 +# pip install .[full] + +# - name: Execute legacy examples (except pyaedt related and 01) +# run: | +# . .venv\Scripts\Activate.ps1 +# $excluded_example = "01_edb_example.py" +# # TODO: once pyaedt examples are passing, use -Recurse to cover them +# Get-ChildItem -Path examples/legacy -Filter *.py -File | ? { $_.Name -ne $excluded_example } | ForEach-Object { +# Write-Host "Executing example $($_.FullName)" +# python $_.FullName +# } + +# # - name: "Clone pyaedt on specific branch" +# # uses: actions/checkout@v4 +# # with: +# # repository: ansys/pyaedt +# # path: "external/pyaedt" +# # ref: "maint/use_pyedb" + +# # - name: "Install Pyaedt" +# # run: | +# # .\.venv\Scripts\Activate.ps1 +# # pip install --no-cache-dir external/pyaedt[full] + +# # - name: Execute legacy pyaedt integration examples +# # run: | +# # . .venv\Scripts\Activate.ps1 +# # Get-ChildItem -Path examples/legacy/pyaedt_integration -Filter *.py -File | ? { $_.Name -ne $excluded_example } | ForEach-Object { +# # Write-Host "Executing pyaedt integration example $($_.FullName)" +# # python $_.FullName +# # } + +# docs-build: +# name: Build documentation +# runs-on: ubuntu-20.04 +# steps: +# - uses: actions/checkout@v4 + +# - name: "Set up Python" +# uses: ansys/actions/_setup-python@main +# with: +# python-version: ${{ env.MAIN_PYTHON_VERSION }} +# use-cache: false + +# - name: Create Python venv +# run: | +# python -m venv .venv + +# - name: "Update pip" +# run: | +# . .venv/bin/activate +# python -m pip install -U pip + +# - name: Install pyedb with doc dependencies +# run: | +# . .venv/bin/activate +# pip install .[doc] + +# - name: Verify that pyedb can be imported +# run: | +# . .venv/bin/activate +# python -c "import pyedb" + +# - name: Retrieve pyedb version +# run: | +# . .venv/bin/activate +# echo "Pyedb version: $(python -c "from pyedb import __version__; print(); print(__version__)" | tail -1)" + +# - name: Install doc build requirements +# run: | +# sudo apt install graphviz + +# # Run doc build, without creating the examples directory. +# # NOTE: we have to add the examples file here since it won't be created as gallery is disabled on linux. +# - name: Documentation Build +# run: | +# . .venv/bin/activate +# make -C doc clean +# mkdir doc/source/examples -p +# echo $'Examples\n========' > doc/source/examples/index.rst +# make -C doc html SPHINXOPTS="-j auto -w build_errors.txt -N" + +# # Verify that sphinx generates no warnings +# - name: Check for warnings +# run: | +# . .venv/bin/activate +# python doc/print_errors.py + +# - name: Upload Documentation +# uses: actions/upload-artifact@v3 +# with: +# name: Documentation +# path: doc/_build/html +# retention-days: 1 + +# package: +# name: Package library +# needs: [legacy-tests, legacy-examples, docs-build] +# runs-on: ubuntu-latest +# steps: +# - name: Build library source and wheel artifacts +# uses: ansys/actions/build-library@v4 +# 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: [package] +# runs-on: ubuntu-latest +# steps: +# - name: Release to GitHub +# uses: ansys/actions/release-github@v4 +# 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@v4 +# with: +# cname: ${{ env.DOCUMENTATION_CNAME }} +# token: ${{ secrets.GITHUB_TOKEN }} + +# doc-index-dev: +# name: "Deploy dev index docs" +# if: github.ref == 'refs/heads/main' +# runs-on: ubuntu-latest +# needs: upload-dev-docs +# steps: +# - name: "Deploy the latest documentation index" +# uses: ansys/actions/doc-deploy-index@v4 +# with: +# cname: ${{ env.DOCUMENTATION_CNAME }}/version/dev +# index-name: pyedb-vdev +# host-url: ${{ env.MEILISEARCH_HOST_URL }} +# api-key: ${{ env.MEILISEARCH_API_KEY }} +# python-version: ${{ env.MAIN_PYTHON_VERSION }} + +# upload-docs-release: +# name: Upload release documentation +# 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@v4 +# with: +# cname: ${{ env.DOCUMENTATION_CNAME }} +# token: ${{ secrets.GITHUB_TOKEN }} + +# doc-index-stable: +# name: "Deploy stable docs index" +# runs-on: ubuntu-latest +# needs: upload-docs-release +# steps: +# - name: "Install Git and clone project" +# uses: actions/checkout@v4 + +# - name: "Install the package requirements" +# run: pip install -e . + +# - name: "Get the version to PyMeilisearch" +# run: | +# VERSION=$(python -c "from pyedb import __version__; print('.'.join(__version__.split('.')[:2]))") +# VERSION_MEILI=$(python -c "from pyedb import __version__; print('-'.join(__version__.split('.')[:2]))") +# echo "Calculated VERSION: $VERSION" +# echo "Calculated VERSION_MEILI: $VERSION_MEILI" +# echo "VERSION=$VERSION" >> $GITHUB_ENV +# echo "VERSION_MEILI=$VERSION_MEILI" >> $GITHUB_ENV + +# - name: "Deploy the latest documentation index" +# uses: ansys/actions/doc-deploy-index@v4 +# with: +# cname: ${{ env.DOCUMENTATION_CNAME }}/version/${{ env.VERSION }} +# index-name: pyedb-v${{ env.VERSION_MEILI }} +# host-url: ${{ env.MEILISEARCH_HOST_URL }} +# api-key: ${{ env.MEILISEARCH_API_KEY }} +# python-version: ${{ env.MAIN_PYTHON_VERSION }} diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml new file mode 100644 index 0000000000..1e9b38af5c --- /dev/null +++ b/.github/workflows/examples.yml @@ -0,0 +1,62 @@ +name: Examples + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the main branch + push: + tags: + - 'v*' + branches: + - main + pull_request: + branches: [ main ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} + PYEDB_USE_LEGACY: '1' + PYEDB_CI_NO_DISPLAY: '1' + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + + legacy-examples: + name: "Check legacy examples" + runs-on: [ windows, pyedb, self-hosted ] + steps: + - name: "Install Git and clone project" + uses: actions/checkout@v4 + + - name: "Setup Python" + uses: actions/setup-python@v5 + with: + cache: 'pip' + python-version: '3.10' + + - name: Install pyedb + run: | + pip install . + + - name: "Clone pyaedt on specific branch" + uses: actions/checkout@v4 + with: + repository: ansys/pyaedt + path: "external/pyaedt" + ref: "maint/use_pyedb" + + - name: "Install Pyaedt" + run: | + .\.venv\Scripts\Activate.ps1 + pip install --no-cache-dir external/pyaedt[full] + + - name: Execute legacy pyaedt integration examples + run: | + . .venv\Scripts\Activate.ps1 + Get-ChildItem -Path examples/legacy/pyaedt_integration -Filter *.py -File | ? { $_.Name -ne $excluded_example } | ForEach-Object { + Write-Host "Executing pyaedt integration example $($_.FullName)" + $time = Measure-Command {python $_.FullName} + Write-Host "Time taken for example $($_.FullName): $($result.TotalSeconds) seconds" + }