Skip to content

Commit 954fc01

Browse files
committed
Merge branch 'main' into release/0.11
2 parents 7b32eca + 7e880b3 commit 954fc01

File tree

101 files changed

+1701
-112
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+1701
-112
lines changed
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
name: Backwards compatibility tests
2+
on:
3+
pull_request:
4+
workflow_dispatch:
5+
push:
6+
tags:
7+
- "*"
8+
branches:
9+
- main
10+
11+
env:
12+
MAIN_PYTHON_VERSION: '3.13'
13+
ANSRV_GEO_IMAGE: 'ghcr.io/ansys/geometry'
14+
ANSRV_GEO_PORT: 700
15+
ANSRV_GEO_LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }}
16+
GEO_CONT_NAME: ans_geo
17+
IS_WORKFLOW_RUNNING: True
18+
19+
concurrency:
20+
group: ${{ github.workflow }}-${{ github.ref }}
21+
cancel-in-progress: true
22+
23+
permissions:
24+
contents: read
25+
packages: read
26+
id-token: write
27+
28+
jobs:
29+
30+
# =================================================================================================
31+
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv RUNNING ON SELF-HOSTED RUNNER vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
32+
# =================================================================================================
33+
34+
testing-backwards-compatibility-windows:
35+
name: Windows ${{ matrix.backend-version }}
36+
runs-on: [self-hosted, Windows, pygeometry]
37+
strategy:
38+
fail-fast: false
39+
matrix:
40+
include:
41+
- image-tag: "windows-24.1"
42+
backend-version: "24.1"
43+
- image-tag: "windows-24.2"
44+
backend-version: "24.2"
45+
# TODO: This has to be reverted once the issue with 25.1 has been solved
46+
# https://github.com/ansys/pyansys-geometry/issues/2167
47+
# - image-tag: "windows-25.1"
48+
# backend-version: "25.1"
49+
- image-tag: "core-windows-25.2"
50+
backend-version: "25.2"
51+
steps:
52+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
53+
54+
- name: Set up Python
55+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
56+
with:
57+
python-version: ${{ env.MAIN_PYTHON_VERSION }}
58+
59+
- name: Set up headless display
60+
uses: pyvista/setup-headless-display-action@7d84ae825e6d9297a8e99bdbbae20d1b919a0b19 # v4.2
61+
62+
- name: Create Python venv
63+
run: |
64+
python -m venv .venv
65+
.\.venv\Scripts\Activate.ps1
66+
67+
- name: Install packages for testing
68+
run: |
69+
.\.venv\Scripts\Activate.ps1
70+
python -m pip install --upgrade pip
71+
pip install --upgrade build wheel
72+
pip install .[tests]
73+
74+
- name: Login to GitHub Container Registry
75+
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
76+
with:
77+
registry: ghcr.io
78+
username: ${{ github.actor }}
79+
password: ${{ secrets.GITHUB_TOKEN }}
80+
81+
- name: Download Geometry service container (if needed)
82+
run: docker pull ${{ env.ANSRV_GEO_IMAGE }}:${{ matrix.image-tag }}
83+
84+
- name: Check location of self-hosted runner and define license server accordingly
85+
if: runner.name == 'pygeometry-ci-2'
86+
run:
87+
echo "ANSRV_GEO_LICENSE_SERVER=${{ secrets.INTERNAL_LICENSE_SERVER }}" | Out-File -FilePath $env:GITHUB_ENV -Append
88+
89+
- name: Stop any running containers
90+
run: |
91+
$dockerContainers = docker ps -a -q
92+
if (-not [string]::IsNullOrEmpty($dockerContainers)) {
93+
docker stop $dockerContainers
94+
docker rm $dockerContainers
95+
}
96+
97+
- name: Start Geometry service and verify start
98+
run: |
99+
.\.venv\Scripts\Activate.ps1
100+
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 }}:${{ matrix.image-tag }}
101+
python -c "from ansys.geometry.core.connection.validate import validate; validate()"
102+
103+
- name: Testing
104+
run: |
105+
.\.venv\Scripts\Activate.ps1
106+
pytest -v --backwards-compatibility=yes --backend-version=${{ matrix.backend-version }} -rf
107+
108+
- name: Upload coverage to Codecov
109+
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
110+
env:
111+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
112+
with:
113+
files: .cov/xml
114+
115+
- name: Stop the Geometry service
116+
if: always()
117+
run: |
118+
docker stop ${{ env.GEO_CONT_NAME }}
119+
docker logs ${{ env.GEO_CONT_NAME }}
120+
docker rm ${{ env.GEO_CONT_NAME }}
121+
122+
- name: Stop any remaining containers
123+
if: always()
124+
run: |
125+
$dockerContainers = docker ps -a -q
126+
if (-not [string]::IsNullOrEmpty($dockerContainers)) {
127+
docker stop $dockerContainers
128+
docker rm $dockerContainers
129+
}
130+
131+
# =================================================================================================
132+
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RUNNING ON SELF-HOSTED RUNNER ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
133+
# =================================================================================================

0 commit comments

Comments
 (0)