Skip to content

CI: update workflow file #21

CI: update workflow file

CI: update workflow file #21

Workflow file for this run

# 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 }}