Skip to content

maint: bump to 0.10.1.dev0 (#888) #2427

maint: bump to 0.10.1.dev0 (#888)

maint: bump to 0.10.1.dev0 (#888) #2427

Workflow file for this run

name: CI
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches-ignore:
- "*no-ci"
push:
branches:
- main
workflow_dispatch:
inputs:
standalone_branch_suffix:
description: 'Suffix of the branch on standalone'
required: false
default: ''
ansys_version:
description: "ANSYS version"
required: false
type: string
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
env:
PACKAGE_NAME: 'ansys-dpf-post'
MODULE: 'post'
DOCUMENTATION_CNAME: 'post.docs.pyansys.com'
MAIN_PYTHON_VERSION: '3.10'
jobs:
debug:
runs-on: ubuntu-latest
steps:
- name: Show the Github context for the triggered event
run: echo "$GITHUB_CONTEXT"
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
style:
name: "Style Check"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Setup Python"
uses: actions/[email protected]
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
- name: "Install pre-commit"
run: pip install pre-commit
- name: "Run pre-commit"
run: pre-commit run --all-files --show-diff-on-failure
vulnerabilities:
name: Vulnerabilities
runs-on: ubuntu-latest
steps:
- name: PyAnsys Vulnerability check (on main)
if: github.ref == 'refs/heads/main'
uses: ansys/actions/check-vulnerabilities@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
python-package-name: ${{ env.PACKAGE_NAME }}
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
- name: PyAnsys Vulnerability check (on dev mode)
if: github.ref != 'refs/heads/main'
uses: ansys/actions/check-vulnerabilities@v10
with:
python-version: ${{ env.MAIN_PYTHON_VERSION }}
python-package-name: ${{ env.PACKAGE_NAME }}
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
dev-mode: true
tests:
name: tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
os: ["windows-latest", "ubuntu-latest"]
steps:
- uses: actions/checkout@v4
- name: "Set licensing if necessary"
if: ${{ (github.event.inputs.ansys_version || vars.ANSYS_VERSION_DEFAULT) > '231' }}
shell: bash
run: |
echo "ANSYS_DPF_ACCEPT_LA=Y" >> $GITHUB_ENV
echo "ANSYSLMD_LICENSE_FILE=1055@${{ secrets.LICENSE_SERVER }}" >> $GITHUB_ENV
- name: "Build Package"
uses: ansys/pydpf-actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
ANSYS_VERSION: ${{ github.event.inputs.ansys_version || vars.ANSYS_VERSION_DEFAULT }}
PACKAGE_NAME: ${{env.PACKAGE_NAME}}
MODULE: ${{env.MODULE}}
dpf-standalone-TOKEN: ${{secrets.PYANSYS_CI_BOT_TOKEN}}
install_extras: graphics
# Upload the wheel artifact for only one of the OS as it is OS-agnostic
wheel: ${{ (matrix.python-version == env.MAIN_PYTHON_VERSION) && (matrix.os == 'windows-latest') }}
wheelhouse: true
standalone_suffix: ${{ inputs.standalone_suffix || ''}}
- name: "Prepare Testing Environment"
uses: ansys/pydpf-actions/[email protected]
with:
DEBUG: true
- name: "List installed packages"
shell: bash
run: pip list
- name: "Test Docstrings"
uses: ansys/pydpf-actions/[email protected]
if: ${{ matrix.python-version == env.MAIN_PYTHON_VERSION }}
with:
MODULE: ${{env.MODULE}}
PACKAGE_NAME: ${{env.PACKAGE_NAME}}
working-directory: src
- name: "Test API"
shell: bash
working-directory: tests
run: |
pytest $DEBUG --cov=ansys.dpf.${{env.MODULE}} --cov-report=xml --cov-report=html --cov-append --log-level=ERROR --junitxml=junit/test-results.xml --reruns 2 .
- name: "Kill all servers"
uses: ansys/pydpf-actions/[email protected]
if: always()
- name: "Upload Test Results"
uses: actions/upload-artifact@v4
with:
name: ${{ env.PACKAGE_NAME }}_${{ matrix.python-version }}_${{ matrix.os }}_pytest_${{ env.ANSYS_VERSION }}
path: tests/junit/test-results.xml
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v5
retro:
name: "Retro-compatibility"
if: startsWith(github.head_ref, 'main') || github.event.action == 'ready_for_review' || !github.event.pull_request.draft
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.10"]
os: ["windows-latest", "ubuntu-latest"]
ANSYS_VERSION:
- ${{ fromJson(vars.ANSYS_VERSIONS_RETRO) }}
- ${{ fromJson(vars.ANSYS_VERSION_LAST_RELEASED) }}
steps:
- uses: actions/checkout@v4
- name: "Set licensing if necessary"
if: matrix.ANSYS_VERSION > 231
shell: bash
run: |
echo "ANSYS_DPF_ACCEPT_LA=Y" >> $GITHUB_ENV
echo "ANSYSLMD_LICENSE_FILE=1055@${{ secrets.LICENSE_SERVER }}" >> $GITHUB_ENV
- name: "Build Package"
uses: ansys/pydpf-actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
ANSYS_VERSION: ${{matrix.ANSYS_VERSION}}
PACKAGE_NAME: ${{env.PACKAGE_NAME}}
MODULE: ${{env.MODULE}}
dpf-standalone-TOKEN: ${{secrets.PYANSYS_CI_BOT_TOKEN}}
install_extras: graphics
wheel: false
standalone_suffix: ${{ matrix.ANSYS_VERSION == '241' && '.sp01' || '' }}
- name: "Prepare Testing Environment"
uses: ansys/pydpf-actions/[email protected]
with:
DEBUG: true
- name: "List installed packages"
shell: bash
run: pip list
- name: "Test API"
shell: bash
working-directory: tests
run: |
pytest $DEBUG --cov=ansys.dpf.${{env.MODULE}} --cov-report=xml --cov-report=html --cov-append --log-level=ERROR --junitxml=junit/test-results.xml --reruns 2 .
- name: "Kill all servers"
uses: ansys/pydpf-actions/[email protected]
if: always()
- name: "Upload Test Results"
uses: actions/upload-artifact@v4
with:
name: ${{ env.PACKAGE_NAME }}_${{ matrix.python-version }}_${{ matrix.os }}_pytest_${{ matrix.ANSYS_VERSION }}
path: tests/junit/test-results.xml
if: always()
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v5
examples:
if: startsWith(github.head_ref, 'main') || github.event.action == 'ready_for_review' || !github.event.pull_request.draft
uses: ./.github/workflows/examples.yml
with:
ANSYS_VERSION: ${{ github.event.inputs.ansys_version || vars.ANSYS_VERSION_DEFAULT }}
python_versions: '["3.10"]'
standalone_suffix: ${{ inputs.standalone_suffix || ''}}
secrets: inherit
docs:
if: startsWith(github.head_ref, 'main') || github.event.action == 'ready_for_review' || !github.event.pull_request.draft
uses: ./.github/workflows/docs.yml
with:
ANSYS_VERSION: ${{ github.event.inputs.ansys_version || vars.ANSYS_VERSION_DEFAULT }}
python_version: "3.10"
standalone_suffix: ${{ inputs.standalone_suffix || ''}}
event_name: ${{ github.event_name }}
secrets: inherit
upload-development-docs:
runs-on: ubuntu-latest
if: ${{ github.ref == 'refs/heads/main' }}
needs: [docs]
steps:
- name: "Upload development documentation"
uses: ansys/actions/doc-deploy-dev@v10
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 }}
doc-artifact-name: HTML-doc-ansys-dpf-post.zip
decompress-artifact: true
sync-main-with-master:
name: "Sync main with master"
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- name: "Install Git and clone project"
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
token: ${{ secrets.MIGRATION_PAT }}
fetch-depth: 0
- name: "Verify that main is the default branch"
shell: bash
run: |
head_branch=$(git remote show origin | grep "HEAD branch:")
main_branch=${head_branch#*: }
if [[ $main_branch != "main" ]]; then
echo "The default branch is not 'main'. It is set to '$main_branch'."
echo "Please set 'main' as the default branch in the repository settings."
exit 1
fi
- name: "Configure git username and email"
shell: bash
run: |
git config --global user.name "${{ secrets.PYANSYS_CI_BOT_USERNAME }}"
git config --global user.email "${{ secrets.PYANSYS_CI_BOT_EMAIL }}"
- name: "Sync main to master"
shell: bash
run: |
git checkout master
git reset --hard main
git push