Skip to content

Commit

Permalink
Changes to support 24.1 version of Fluent (#1607)
Browse files Browse the repository at this point in the history
* Changes to support 24.1 version of Fluent

* Changes to support 24.1 version of Fluent

* Adding pre-commit hook for yaml

* update CI
  • Loading branch information
mkundu1 committed May 17, 2023
1 parent 134e5fc commit 834b62b
Show file tree
Hide file tree
Showing 13 changed files with 101 additions and 37 deletions.
4 changes: 2 additions & 2 deletions .ci/compare_flobject.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
)
Expand Down
41 changes: 24 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -383,20 +383,28 @@ 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

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.9
python-version: 3.8

- name: Cache pip
uses: actions/cache@v3
Expand Down Expand Up @@ -425,46 +433,45 @@ 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: |
rm -rf dist
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

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/compare-flobject.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion .github/workflows/nightly-dev-doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
38 changes: 32 additions & 6 deletions .github/workflows/nightly-test-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
26 changes: 19 additions & 7 deletions .github/workflows/test-run-wo-codegen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
7 changes: 6 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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
11 changes: 11 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion doc/settings_rstgen.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
1 change: 1 addition & 0 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -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__",
}

Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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",
]


Expand Down
1 change: 1 addition & 0 deletions src/ansys/fluent/core/launcher/launcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 834b62b

Please sign in to comment.