Skip to content

Commit 2239d8c

Browse files
Merge branch 'main' into feat/prepare_tools_migration
2 parents 74eb796 + 1c00565 commit 2239d8c

File tree

18 files changed

+161
-104
lines changed

18 files changed

+161
-104
lines changed

.github/workflows/ci_cd.yml

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -481,11 +481,6 @@ jobs:
481481
username: ${{ github.actor }}
482482
password: ${{ secrets.GITHUB_TOKEN }}
483483

484-
- name: Pull and launch geometry service
485-
run: |
486-
docker pull ${{ env.ANSRV_GEO_IMAGE_MINREQS }}
487-
docker run --detach --name ${{ env.GEO_CONT_NAME }} -e LICENSE_SERVER=${{ env.ANSRV_GEO_LICENSE_SERVER }} -p ${{ env.ANSRV_GEO_PORT }}:50051 ${{ env.ANSRV_GEO_IMAGE_MINREQS }}
488-
489484
- name: Checkout repository
490485
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
491486

@@ -500,6 +495,12 @@ jobs:
500495
pip install -e .[all,tests-minimal]
501496
pip install pytest
502497
498+
- name: Start Geometry service and verify start
499+
run: |
500+
docker pull ${{ env.ANSRV_GEO_IMAGE_MINREQS }}
501+
docker run --detach --name ${{ env.GEO_CONT_NAME }} -e LICENSE_SERVER=${{ env.ANSRV_GEO_LICENSE_SERVER }} -p ${{ env.ANSRV_GEO_PORT }}:50051 ${{ env.ANSRV_GEO_IMAGE_MINREQS }}
502+
python -c "from ansys.geometry.core.connection.validate import validate; validate()"
503+
503504
- name: Run pytest
504505
run: |
505506
pytest -v
@@ -529,11 +530,6 @@ jobs:
529530
username: ${{ github.actor }}
530531
password: ${{ secrets.GITHUB_TOKEN }}
531532

532-
- name: Pull and launch geometry service
533-
run: |
534-
docker pull ${{ env.ANSRV_GEO_IMAGE_MINREQS }}
535-
docker run --detach --name ${{ env.GEO_CONT_NAME }} -e LICENSE_SERVER=${{ env.ANSRV_GEO_LICENSE_SERVER }} -p ${{ env.ANSRV_GEO_PORT }}:50051 ${{ env.ANSRV_GEO_IMAGE_MINREQS }}
536-
537533
- name: Checkout repository
538534
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
539535

@@ -551,6 +547,12 @@ jobs:
551547
# Installing docker (needed for the tests)
552548
pip install docker
553549
550+
- name: Start Geometry service and verify start
551+
run: |
552+
docker pull ${{ env.ANSRV_GEO_IMAGE_MINREQS }}
553+
docker run --detach --name ${{ env.GEO_CONT_NAME }} -e LICENSE_SERVER=${{ env.ANSRV_GEO_LICENSE_SERVER }} -p ${{ env.ANSRV_GEO_PORT }}:50051 ${{ env.ANSRV_GEO_IMAGE_MINREQS }}
554+
python -c "from ansys.geometry.core.connection.validate import validate; validate()"
555+
554556
- name: Run pytest
555557
run: |
556558
pytest -v -c pytest-nographics.ini
@@ -562,7 +564,6 @@ jobs:
562564
docker logs ${{ env.GEO_CONT_NAME }}
563565
docker rm ${{ env.GEO_CONT_NAME }}
564566
565-
566567
package:
567568
name: Package library
568569
needs: [testing-windows, testing-linux, testing-min-reqs, testing-no-graphics, docs]
@@ -691,17 +692,12 @@ jobs:
691692
run:
692693
echo "ANSRV_GEO_LICENSE_SERVER=${{ secrets.INTERNAL_LICENSE_SERVER }}" | Out-File -FilePath $env:GITHUB_ENV -Append
693694

694-
- name: Launch Geometry service
695-
run: |
696-
docker run --detach --name ${{ env.GEO_CONT_NAME }} -e LICENSE_SERVER=${{ env.ANSRV_GEO_LICENSE_SERVER }} -p ${{ env.ANSRV_GEO_PORT }}:50051 ghcr.io/ansys/geometry:windows-tmp
697-
698695
- name: Validate connection using PyAnsys Geometry
699696
run: |
700697
python -m venv .venv
701698
.\.venv\Scripts\Activate.ps1
702699
python -m pip install --upgrade pip
703700
pip install -e .[tests]
704-
python -c "from ansys.geometry.core.connection.validate import validate; validate()"
705701
706702
- name: Restore images cache
707703
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
@@ -710,6 +706,12 @@ jobs:
710706
key: pyvista-image-cache-${{ runner.os }}-v-${{ env.RESET_IMAGE_CACHE }}-${{ hashFiles('pyproject.toml') }}
711707
restore-keys: pyvista-image-cache-${{ runner.os }}-v-${{ env.RESET_IMAGE_CACHE }}
712708

709+
- name: Start Geometry service and verify start
710+
run: |
711+
.\.venv\Scripts\Activate.ps1
712+
docker run --detach --name ${{ env.GEO_CONT_NAME }} -e LICENSE_SERVER=${{ env.ANSRV_GEO_LICENSE_SERVER }} -p ${{ env.ANSRV_GEO_PORT }}:50051 ghcr.io/ansys/geometry:windows-tmp
713+
python -c "from ansys.geometry.core.connection.validate import validate; validate()"
714+
713715
- name: Testing
714716
run: |
715717
.\.venv\Scripts\Activate.ps1
@@ -778,14 +780,14 @@ jobs:
778780
run: |
779781
docker build -f linux/coreservice/Dockerfile -t ghcr.io/ansys/geometry:linux-tmp .
780782
781-
- name: Launch Geometry service
782-
run: |
783-
docker run --detach --name ${{ env.GEO_CONT_NAME }} -e LICENSE_SERVER=${{ env.ANSRV_GEO_LICENSE_SERVER }} -p ${{ env.ANSRV_GEO_PORT }}:50051 ghcr.io/ansys/geometry:linux-tmp
784-
785783
- name: Validate connection using PyAnsys Geometry
786784
run: |
787785
python -m pip install --upgrade pip
788786
pip install -e .[tests]
787+
788+
- name: Start Geometry service and verify start
789+
run: |
790+
docker run --detach --name ${{ env.GEO_CONT_NAME }} -e LICENSE_SERVER=${{ env.ANSRV_GEO_LICENSE_SERVER }} -p ${{ env.ANSRV_GEO_PORT }}:50051 ghcr.io/ansys/geometry:linux-tmp
789791
python -c "from ansys.geometry.core.connection.validate import validate; validate()"
790792
791793
- name: Restore images cache

.github/workflows/nightly_docker_test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ jobs:
164164
run: docker image prune -f
165165

166166
- name: Microsoft Teams Notification
167-
uses: skitionek/notify-microsoft-teams@190d4d92146df11f854709774a4dae6eaf5e2aa3 # master
167+
uses: skitionek/notify-microsoft-teams@fab6aca2609ba706ebc981d066278d47ab4af0fc # v1.0.9
168168
if: failure()
169169
with:
170170
webhook_url: ${{ secrets.MSTEAMS_WEBHOOK }}
@@ -230,7 +230,7 @@ jobs:
230230
docker rm ${{ env.GEO_CONT_NAME }}
231231
232232
- name: Microsoft Teams Notification
233-
uses: skitionek/notify-microsoft-teams@190d4d92146df11f854709774a4dae6eaf5e2aa3 # master
233+
uses: skitionek/notify-microsoft-teams@fab6aca2609ba706ebc981d066278d47ab4af0fc # v1.0.9
234234
if: failure()
235235
with:
236236
webhook_url: ${{ secrets.MSTEAMS_WEBHOOK }}

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ exclude: "tests/integration/files"
77
repos:
88

99
- repo: https://github.com/astral-sh/ruff-pre-commit
10-
rev: v0.11.4
10+
rev: v0.11.5
1111
hooks:
1212
- id: ruff
1313
- id: ruff-format
@@ -35,7 +35,7 @@ repos:
3535

3636
# this validates our github workflow files
3737
- repo: https://github.com/python-jsonschema/check-jsonschema
38-
rev: 0.32.1
38+
rev: 0.33.0
3939
hooks:
4040
- id: check-github-workflows
4141

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
bump skitionek/notify-microsoft-teams from 190d4d92146df11f854709774a4dae6eaf5e2aa3 to fab6aca2609ba706ebc981d066278d47ab4af0fc in the actions group
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pre-commit automatic update
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
bump grpcio limits and handle erratic gRPC channel creation

pyproject.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ dependencies = [
2828
"ansys-tools-path>=0.3,<1",
2929
"beartype>=0.11.0,<0.21",
3030
"geomdl>=5,<6",
31-
"grpcio>=1.35.0,<1.68",
32-
"grpcio-health-checking>=1.45.0,<1.68",
31+
"grpcio>=1.35.0,<2",
32+
"grpcio-health-checking>=1.45.0,<2",
3333
"matplotlib>=3,<4",
3434
"numpy>=1.20.3,<3",
3535
"Pint>=0.18,<1",
@@ -62,8 +62,8 @@ tests = [
6262
"beartype==0.20.2",
6363
"docker==7.1.0",
6464
"geomdl==5.3.1",
65-
"grpcio==1.67.1",
66-
"grpcio-health-checking==1.67.1",
65+
"grpcio==1.71.0",
66+
"grpcio-health-checking==1.71.0",
6767
"matplotlib==3.10.1",
6868
"numpy==2.2.4",
6969
"Pint==0.24.4",
@@ -93,8 +93,8 @@ doc = [
9393
"beartype==0.20.2",
9494
"docker==7.1.0",
9595
"geomdl==5.3.1",
96-
"grpcio==1.67.1",
97-
"grpcio-health-checking==1.67.1",
96+
"grpcio==1.71.0",
97+
"grpcio-health-checking==1.71.0",
9898
"ipyvtklink==0.2.3",
9999
"jupyter_sphinx==0.5.3",
100100
"jupytext==1.16.7",

src/ansys/geometry/core/_grpc/_services/_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,4 +230,4 @@ def prepare_tools(self) -> GRPCPrepareToolsService:
230230
# This should never happen as the version is set in the constructor
231231
raise ValueError(f"Unsupported version: {self.version}")
232232

233-
return self._prepare_tools
233+
return self._prepare_tools

src/ansys/geometry/core/_grpc/_services/base/admin.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,8 @@ def get_backend(self, **kwargs) -> dict:
4848
def get_logs(self, **kwargs) -> dict:
4949
"""Get server logs."""
5050
pass # pragma: no cover
51+
52+
@abstractmethod
53+
def get_service_status(self, **kwargs) -> dict:
54+
"""Get server status (i.e. healthy or not)."""
55+
pass # pragma: no cover

src/ansys/geometry/core/_grpc/_services/base/conversions.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
# SOFTWARE.
2222
"""Module containing server-version agnostic conversions."""
2323

24-
from ansys.geometry.core.misc.measurements import DEFAULT_UNITS, Measurement
24+
from ansys.geometry.core.misc.measurements import DEFAULT_UNITS, Distance, Measurement
2525

2626

2727
def from_measurement_to_server_length(input: Measurement) -> float:
@@ -54,3 +54,24 @@ def from_measurement_to_server_angle(input: Measurement) -> float:
5454
Angle value in server-defined units. By default, radians.
5555
"""
5656
return input.value.m_as(DEFAULT_UNITS.SERVER_ANGLE)
57+
58+
59+
def to_distance(value: float | int) -> Distance:
60+
"""Convert a server value to a Distance object.
61+
62+
Notes
63+
-----
64+
The value is converted to a Distance object using the default server length unit.
65+
The value should represent a length in the server's unit system.
66+
67+
Parameters
68+
----------
69+
value : float | int
70+
Value to convert.
71+
72+
Returns
73+
-------
74+
Distance
75+
Converted distance.
76+
"""
77+
return Distance(value, DEFAULT_UNITS.SERVER_LENGTH)

0 commit comments

Comments
 (0)