From 834b62b2af926f78b2681e3d1eb6b7f6f821c670 Mon Sep 17 00:00:00 2001 From: Mainak Kundu <94432368+mkundu1@users.noreply.github.com> Date: Wed, 17 May 2023 09:48:23 -0400 Subject: [PATCH] Changes to support 24.1 version of Fluent (#1607) * Changes to support 24.1 version of Fluent * Changes to support 24.1 version of Fluent * Adding pre-commit hook for yaml * update CI --- .ci/compare_flobject.py | 4 +- .github/workflows/ci.yml | 41 ++++++++++++--------- .github/workflows/compare-flobject.yml | 2 +- .github/workflows/nightly-dev-doc-build.yml | 2 +- .github/workflows/nightly-test-run.yml | 38 ++++++++++++++++--- .github/workflows/test-run-wo-codegen.yml | 26 +++++++++---- .pre-commit-config.yaml | 7 +++- Makefile | 11 ++++++ doc/settings_rstgen.py | 2 +- doc/source/conf.py | 1 + pyproject.toml | 1 + src/ansys/fluent/core/launcher/launcher.py | 1 + tests/conftest.py | 2 +- 13 files changed, 101 insertions(+), 37 deletions(-) diff --git a/.ci/compare_flobject.py b/.ci/compare_flobject.py index 98ed09203ee..c6c31d99e24 100644 --- a/.ci/compare_flobject.py +++ b/.ci/compare_flobject.py @@ -4,14 +4,14 @@ def compare_flobject(): - image_name = f"ghcr.io/ansys/pyfluent:v23.2.0" + image_name = f"ghcr.io/ansys/pyfluent:v24.1.0" container_name = uuid.uuid4().hex is_linux = platform.system() == "Linux" subprocess.run( f"docker container create --name {container_name} {image_name}", shell=is_linux, ) - xml_source = f"/ansys_inc/v232/fluent/fluent23.2.0/cortex/pylib/flapi/flobject.py" + xml_source = f"/ansys_inc/v241/fluent/fluent24.1.0/cortex/pylib/flapi/flobject.py" subprocess.run( f"docker cp {container_name}:{xml_source} fluent_flobject.py", shell=is_linux ) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 234a8dfae4e..43358acc815 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -191,7 +191,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: 3.8 - name: Cache pip uses: actions/cache@v3 @@ -333,7 +333,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: 3.8 - name: Download package uses: actions/download-artifact@v3 @@ -383,12 +383,20 @@ jobs: name: coverage_report path: ./htmlcov -# Separate build+test job for 23.2 Fluent +# Separate build+test job for 23.2 and 24.1 Fluent # Don't upload anything to artifacts/cache/release-package from here - build_test_232: - name: Build and Test with 23.2 Fluent + build_test_232_241: + name: Build and Test needs: test-import runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - image-tag: v23.2.0 + version: 232 + - image-tag: v24.1.0 + version: 241 steps: - uses: actions/checkout@v3 @@ -396,7 +404,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: 3.9 + python-version: 3.8 - name: Cache pip uses: actions/cache@v3 @@ -425,23 +433,22 @@ jobs: username: ${{ secrets.GH_USERNAME }} password: ${{ secrets.REPO_DOWNLOAD_PAT }} - - name: Pull 23.2 Fluent docker image + - name: Pull Fluent docker image run: make docker-pull env: - FLUENT_IMAGE_TAG: v23.2.0 + FLUENT_IMAGE_TAG: ${{ matrix.image-tag }} - - name: Run 23.2 API codegen + - name: Run API codegen run: make api-codegen env: ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} PYFLUENT_START_INSTANCE: 0 PYFLUENT_LAUNCH_CONTAINER: 1 - FLUENT_IMAGE_TAG: v23.2.0 + FLUENT_IMAGE_TAG: ${{ matrix.image-tag }} - - name: Print 23.2 Fluent version info + - name: Print Fluent version info run: | - cat src/ansys/fluent/core/fluent_version_232.py - python -c "from ansys.fluent.core.solver.settings_232 import SHASH; print(f'SETTINGS_HASH = {SHASH}')" + cat src/ansys/fluent/core/fluent_version_${{ matrix.version }}.py - name: Install again after codegen run: | @@ -449,22 +456,22 @@ jobs: make install > /dev/null - name: Unit Testing - run: make unittest-dev-232 + run: make unittest-dev-${{ matrix.version }} env: ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} PYFLUENT_START_INSTANCE: 0 - FLUENT_IMAGE_TAG: v23.2.0 + FLUENT_IMAGE_TAG: ${{ matrix.image-tag }} release: name: Release if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') - needs: [test, build_test_232] + needs: [test, build_test_232_241] runs-on: ubuntu-latest steps: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.10' + python-version: 3.8 - uses: actions/download-artifact@v3 diff --git a/.github/workflows/compare-flobject.yml b/.github/workflows/compare-flobject.yml index fdd02b6dca8..05cb09486c4 100644 --- a/.github/workflows/compare-flobject.yml +++ b/.github/workflows/compare-flobject.yml @@ -27,7 +27,7 @@ jobs: - name: Pull Fluent docker image run: make docker-pull env: - FLUENT_IMAGE_TAG: v23.2.0 + FLUENT_IMAGE_TAG: v24.1.0 - name: Compare flobject run: make compare-flobject diff --git a/.github/workflows/nightly-dev-doc-build.yml b/.github/workflows/nightly-dev-doc-build.yml index 262f7758946..e00fbbb8c5a 100644 --- a/.github/workflows/nightly-dev-doc-build.yml +++ b/.github/workflows/nightly-dev-doc-build.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - image-tag: [v22.2.0, v23.1.0, v23.2.0] + image-tag: [v22.2.0, v23.1.0, v23.2.0, v24.1.0] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/nightly-test-run.yml b/.github/workflows/nightly-test-run.yml index 42f9ff50299..4995f73b3e8 100644 --- a/.github/workflows/nightly-test-run.yml +++ b/.github/workflows/nightly-test-run.yml @@ -99,18 +99,44 @@ jobs: cat src/ansys/fluent/core/fluent_version_232.py python -c "from ansys.fluent.core.solver.settings_231 import SHASH; print(f'SETTINGS_HASH = {SHASH}')" + - name: Pull 24.1 Fluent docker image + run: make docker-pull + env: + FLUENT_IMAGE_TAG: v24.1.0 + + - name: Run 24.1 API codegen + run: make api-codegen + env: + ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} + PYFLUENT_START_INSTANCE: 0 + PYFLUENT_LAUNCH_CONTAINER: 1 + FLUENT_IMAGE_TAG: v24.1.0 + + - name: Print 24.1 Fluent version info + run: | + cat src/ansys/fluent/core/fluent_version_241.py + python -c "from ansys.fluent.core.solver.settings_241 import SHASH; print(f'SETTINGS_HASH = {SHASH}')" + - name: Install again after codegen run: | rm -rf dist make install > /dev/null - - name: 22.2 Unit Testing - run: make unittest-all-222 + - name: 24.1 Unit Testing + run: make unittest-all-241 continue-on-error: true env: ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} PYFLUENT_START_INSTANCE: 0 - FLUENT_IMAGE_TAG: v22.2.0 + FLUENT_IMAGE_TAG: v24.1.0 + + - name: 23.2 Unit Testing + run: make unittest-all-232 + continue-on-error: true + env: + ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} + PYFLUENT_START_INSTANCE: 0 + FLUENT_IMAGE_TAG: v23.2.0 - name: 23.1 Unit Testing run: make unittest-all-231 @@ -127,10 +153,10 @@ jobs: name: coverage_report path: ./htmlcov - - name: 23.2 Unit Testing - run: make unittest-all-232 + - name: 22.2 Unit Testing + run: make unittest-all-222 continue-on-error: true env: ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} PYFLUENT_START_INSTANCE: 0 - FLUENT_IMAGE_TAG: v23.2.0 + FLUENT_IMAGE_TAG: v22.2.0 diff --git a/.github/workflows/test-run-wo-codegen.yml b/.github/workflows/test-run-wo-codegen.yml index 14eb57d7024..6b3e1bbfe6b 100644 --- a/.github/workflows/test-run-wo-codegen.yml +++ b/.github/workflows/test-run-wo-codegen.yml @@ -60,13 +60,24 @@ jobs: env: FLUENT_IMAGE_TAG: v23.2.0 - - name: 22.2 Unit Testing - run: make unittest-all-222 - continue-on-error: true + - name: Pull 24.1 Fluent docker image + run: make docker-pull + env: + FLUENT_IMAGE_TAG: v24.1.0 + + - name: 24.1 Unit Testing + run: make unittest-all-241 env: ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} PYFLUENT_START_INSTANCE: 0 - FLUENT_IMAGE_TAG: v22.2.0 + FLUENT_IMAGE_TAG: v24.1.0 + + - name: 23.2 Unit Testing + run: make unittest-all-232 + env: + ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} + PYFLUENT_START_INSTANCE: 0 + FLUENT_IMAGE_TAG: v23.2.0 - name: 23.1 Unit Testing run: make unittest-all-231 @@ -76,9 +87,10 @@ jobs: PYFLUENT_START_INSTANCE: 0 FLUENT_IMAGE_TAG: v23.1.0 - - name: 23.2 Unit Testing - run: make unittest-all-232 + - name: 22.2 Unit Testing + run: make unittest-all-222 + continue-on-error: true env: ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }} PYFLUENT_START_INSTANCE: 0 - FLUENT_IMAGE_TAG: v23.2.0 + FLUENT_IMAGE_TAG: v22.2.0 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f594c256456..928699afdb8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,7 +18,7 @@ repos: 'flake8-annotations==2.9.0' ] args: [ - --exclude, src/ansys/fluent/core/meshing/tui* src/ansys/fluent/core/solver/tui* src/ansys/fluent/core/datamodel_222/* src/ansys/fluent/core/datamodel_231/* src/ansys/fluent/core/datamodel_232/* src/ansys/fluent/core/solver/settings_222/* src/ansys/fluent/core/solver/settings_231/* src/ansys/fluent/core/solver/settings_232/*, + --exclude, src/ansys/fluent/core/meshing/tui* src/ansys/fluent/core/solver/tui* src/ansys/fluent/core/datamodel_222/* src/ansys/fluent/core/datamodel_231/* src/ansys/fluent/core/datamodel_232/* src/ansys/fluent/core/datamodel_241/* src/ansys/fluent/core/solver/settings_222/* src/ansys/fluent/core/solver/settings_231/* src/ansys/fluent/core/solver/settings_232/* src/ansys/fluent/core/solver/settings_241/*, --select, W191 W291 W293 W391 E115 E117 E122 E124 E125 E225 E231 E301 E303 F401 F403 N801 N802 N803 N804 N805 N806, #--select, W191 W291 W293 W391 E115 E117 E122 E124 E125 E225 E231 E301 E303 F401 F403 N801 N802 N803 N804 N805 N806 ANN001 ANN201 ANN205 ANN206, --count, @@ -53,3 +53,8 @@ repos: # --ignore, "D107,D105,D4", # --count, # ] + +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: check-yaml diff --git a/Makefile b/Makefile index e1bb3609bef..24041aead71 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,11 @@ unittest-dev-231: @pip install -r requirements/requirements_tests.txt @python -m pytest -v -m "dev and fluent_231" --cov=ansys.fluent --cov-report=xml:cov_xml.xml --cov-report=html +unittest-dev-241: + @echo "Running unittests" + @pip install -r requirements/requirements_tests.txt + @python -m pytest -v -m "dev and fluent_241" --cov=ansys.fluent --cov-report=xml:cov_xml.xml --cov-report=html + unittest-dev-232: @echo "Running unittests" @pip install -r requirements/requirements_tests.txt @@ -46,6 +51,12 @@ unittest-all-231: @pip install -r requirements/requirements_tests.txt @python -m pytest -v -m "fluent_231" --cov=ansys.fluent --cov-report=xml:cov_xml.xml --cov-report=html --durations=0 +unittest-all-241: + @sudo rm -rf /home/ansys/.local/share/ansys_fluent_core/examples/* + @echo "Running all unittests" + @pip install -r requirements/requirements_tests.txt + @python -m pytest -v -m "fluent_241" --cov=ansys.fluent --cov-report=xml:cov_xml.xml --cov-report=html --durations=0 + unittest-all-232: @sudo rm -rf /home/ansys/.local/share/ansys_fluent_core/examples/* @echo "Running all unittests" diff --git a/doc/settings_rstgen.py b/doc/settings_rstgen.py index cff21235aca..883d1ed0c9e 100644 --- a/doc/settings_rstgen.py +++ b/doc/settings_rstgen.py @@ -212,7 +212,7 @@ def _populate_rst_from_settings(rst_dir, cls, version): if not os.path.exists(rst_dir): os.makedirs(rst_dir) - image_tag = os.getenv("FLUENT_IMAGE_TAG", "v23.2.0") + image_tag = os.getenv("FLUENT_IMAGE_TAG", "v24.1.0") version = get_version_for_filepath(image_tag.lstrip("v")) settings = importlib.import_module(f"ansys.fluent.core.solver.settings_{version}") _populate_parents_list(settings.root) diff --git a/doc/source/conf.py b/doc/source/conf.py index 43a6f0f551e..e13fb1cf900 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -70,6 +70,7 @@ numpydoc_validation_exclude = { "ansys.fluent.core.solver.settings_231.", "ansys.fluent.core.solver.settings_232.", + "ansys.fluent.core.solver.settings_241.", "ansys.fluent.core.services.batch_ops.BatchOps.__init__", } diff --git a/pyproject.toml b/pyproject.toml index 5cd44e22ed1..c6062b77ecd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ markers = [ "fluent_222: Tests that run with Fluent 22.2", "fluent_231: Tests that run with Fluent 23.1", "fluent_232: Tests that run with Fluent 23.2", + "fluent_241: Tests that run with Fluent 24.1", ] diff --git a/src/ansys/fluent/core/launcher/launcher.py b/src/ansys/fluent/core/launcher/launcher.py index c1f88af6a19..da05b41360c 100644 --- a/src/ansys/fluent/core/launcher/launcher.py +++ b/src/ansys/fluent/core/launcher/launcher.py @@ -39,6 +39,7 @@ def _is_windows(): class FluentVersion(Enum): """An enumeration over supported Fluent versions.""" + version_24R1 = "24.1.0" version_23R2 = "23.2.0" version_23R1 = "23.1.0" version_22R2 = "22.2.0" diff --git a/tests/conftest.py b/tests/conftest.py index 412c7cdde19..84799d46472 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -7,7 +7,7 @@ def pytest_collection_modifyitems(items, config): - version_markers = ["fluent_222", "fluent_231", "fluent_232"] + version_markers = ["fluent_222", "fluent_231", "fluent_232", "fluent_241"] for item in items: markers = [x.name for x in item.iter_markers()] # If no markers are defined add "dev" marker