Skip to content

Commit 808cd6e

Browse files
committed
Merge branch 'main' into release/0.7
2 parents c3d1c81 + f273886 commit 808cd6e

Some content is hidden

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

64 files changed

+892
-184
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "pip"
44
directory: "/"
55
schedule:
6-
interval: "weekly"
6+
interval: "daily"
77
labels:
88
- "maintenance"
99
- "dependencies"

.github/workflows/ci_cd.yml

Lines changed: 34 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,9 @@ env:
1717
ANSRV_GEO_PORT: 700
1818
ANSRV_GEO_LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }}
1919
GEO_CONT_NAME: ans_geo
20-
RESET_IMAGE_CACHE: 3
20+
RESET_IMAGE_CACHE: 4
2121
IS_WORKFLOW_RUNNING: True
2222
ARTIFACTORY_VERSION: v251
23-
MEILISEARCH_API_KEY: ${{ secrets.MEILISEARCH_API_KEY }}
24-
MEILISEARCH_HOST_URL: ${{ vars.MEILISEARCH_HOST_URL }}
25-
MEILISEARCH_PUBLIC_API_KEY: ${{ secrets.MEILISEARCH_PUBLIC_API_KEY }}
2623

2724
concurrency:
2825
group: ${{ github.workflow }}-${{ github.ref }}
@@ -38,47 +35,39 @@ jobs:
3835
contents: write
3936
pull-requests: write
4037
steps:
41-
- uses: ansys/actions/doc-deploy-changelog@v7
38+
- uses: ansys/actions/doc-deploy-changelog@v8
4239
with:
4340
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
41+
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
42+
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}
4443

4544
vulnerabilities:
4645
name: Vulnerabilities
4746
runs-on: ubuntu-latest
4847
steps:
4948
- name: PyAnsys Vulnerability check (on main)
5049
if: github.ref == 'refs/heads/main'
51-
uses: ansys/actions/check-vulnerabilities@v7
50+
uses: ansys/actions/check-vulnerabilities@v8
5251
with:
5352
python-version: ${{ env.MAIN_PYTHON_VERSION }}
5453
python-package-name: ${{ env.PACKAGE_NAME }}
5554
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
5655

5756
- name: PyAnsys Vulnerability check (on dev mode)
5857
if: github.ref != 'refs/heads/main'
59-
uses: ansys/actions/check-vulnerabilities@v7
58+
uses: ansys/actions/check-vulnerabilities@v8
6059
with:
6160
python-version: ${{ env.MAIN_PYTHON_VERSION }}
6261
python-package-name: ${{ env.PACKAGE_NAME }}
6362
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
6463
dev-mode: true
65-
66-
branch-name:
67-
# Only if the event is a pull request and the branch name is not from the pre-commit-ci bot
68-
if: github.event_name == 'pull_request' && github.head_ref != 'pre-commit-ci-update-config'
69-
name: Check the name of the branch
70-
runs-on: ubuntu-latest
71-
steps:
72-
- name: Check branch name
73-
uses: ansys/actions/branch-name-style@v7
74-
75-
commit-name:
64+
pr-name:
7665
if: github.event_name == 'pull_request'
77-
name: Check the name of the commit
66+
name: Check the name of the PR
7867
runs-on: ubuntu-latest
7968
steps:
8069
- name: Check commit name
81-
uses: ansys/actions/commit-style@v7
70+
uses: ansys/actions/check-pr-title@v8
8271
with:
8372
token: ${{ secrets.GITHUB_TOKEN }}
8473

@@ -87,7 +76,7 @@ jobs:
8776
runs-on: ubuntu-latest
8877
steps:
8978
- name: PyAnsys documentation style checks
90-
uses: ansys/actions/doc-style@v7
79+
uses: ansys/actions/doc-style@v8
9180
with:
9281
token: ${{ secrets.GITHUB_TOKEN }}
9382

@@ -106,7 +95,7 @@ jobs:
10695
os: macos-latest
10796
steps:
10897
- name: Build wheelhouse and perform smoke test
109-
uses: ansys/actions/build-wheelhouse@v7
98+
uses: ansys/actions/build-wheelhouse@v8
11099
with:
111100
library-name: ${{ env.PACKAGE_NAME }}
112101
operating-system: ${{ matrix.os }}
@@ -117,7 +106,7 @@ jobs:
117106
runs-on: ubuntu-latest
118107
steps:
119108
- name: PyAnsys documentation style checks
120-
uses: ansys/actions/docker-style@v7
109+
uses: ansys/actions/docker-style@v8
121110
with:
122111
directory: docker
123112
recursive: true
@@ -133,6 +122,7 @@ jobs:
133122
continue-on-error: ${{ matrix.experimental }}
134123
env:
135124
SKIP_UNSTABLE: ${{ vars.SKIP_UNSTABLE_CONTAINERS_TEMPORARILY == 1 && matrix.experimental }}
125+
PYVISTA_OFF_SCREEN: true
136126
strategy:
137127
fail-fast: false
138128
matrix:
@@ -155,6 +145,8 @@ jobs:
155145
- name: Set up headless display
156146
if: env.SKIP_UNSTABLE == 'false'
157147
uses: pyvista/setup-headless-display-action@v2
148+
with:
149+
pyvista: false
158150

159151
- name: Create Python venv
160152
if: env.SKIP_UNSTABLE == 'false'
@@ -267,9 +259,13 @@ jobs:
267259
runs-on:
268260
group: pyansys-self-hosted
269261
labels: [Windows, pygeometry]
262+
env:
263+
PYVISTA_OFF_SCREEN: true
270264
steps:
271265
- name: Set up headless display
272266
uses: pyvista/setup-headless-display-action@v2
267+
with:
268+
pyvista: false
273269

274270
- name: Login to GitHub Container Registry
275271
uses: docker/login-action@v3
@@ -290,10 +286,11 @@ jobs:
290286
run: 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_WINDOWS_TAG }}
291287

292288
- name: Run Ansys documentation building action
293-
uses: ansys/actions/doc-build@v7
289+
uses: ansys/actions/doc-build@v8
294290
with:
295291
python-version: ${{ env.MAIN_PYTHON_VERSION }}
296292
add-pdf-html-docs-as-assets: true
293+
needs-quarto: true
297294

298295
- name: Stop the Geometry service
299296
if: always()
@@ -361,7 +358,7 @@ jobs:
361358

362359
- name: Run pytest
363360
if: env.SKIP_UNSTABLE == 'false'
364-
uses: ansys/actions/tests-pytest@v7
361+
uses: ansys/actions/tests-pytest@v8
365362
env:
366363
ALLOW_PLOTTING: true
367364
with:
@@ -448,7 +445,7 @@ jobs:
448445
runs-on: ubuntu-latest
449446
steps:
450447
- name: Build library source and wheel artifacts
451-
uses: ansys/actions/build-library@v7
448+
uses: ansys/actions/build-library@v8
452449
with:
453450
library-name: ${{ env.PACKAGE_NAME }}
454451
python-version: ${{ env.MAIN_PYTHON_VERSION }}
@@ -663,7 +660,7 @@ jobs:
663660
restore-keys: pyvista-image-cache-${{ runner.os }}-v-${{ env.RESET_IMAGE_CACHE }}
664661

665662
- name: Run pytest
666-
uses: ansys/actions/tests-pytest@v7
663+
uses: ansys/actions/tests-pytest@v8
667664
env:
668665
ALLOW_PLOTTING: true
669666
with:
@@ -704,13 +701,13 @@ jobs:
704701
contents: write
705702
steps:
706703
- name: Release to the public PyPI repository
707-
uses: ansys/actions/release-pypi-public@v7
704+
uses: ansys/actions/release-pypi-public@v8
708705
with:
709706
library-name: ${{ env.PACKAGE_NAME }}
710707
use-trusted-publisher: true
711708

712709
- name: Release to GitHub
713-
uses: ansys/actions/release-github@v7
710+
uses: ansys/actions/release-github@v8
714711
with:
715712
library-name: ${{ env.PACKAGE_NAME }}
716713
additional-artifacts: windows-dockerfile.zip linux-dockerfile.zip
@@ -722,25 +719,12 @@ jobs:
722719
needs: [package]
723720
steps:
724721
- name: Deploy the latest documentation
725-
uses: ansys/actions/doc-deploy-dev@v7
722+
uses: ansys/actions/doc-deploy-dev@v8
726723
with:
727724
cname: ${{ env.DOCUMENTATION_CNAME }}
728-
token: ${{ secrets.GITHUB_TOKEN }}
729-
730-
doc-index-dev:
731-
name: "Deploy dev index docs"
732-
if: github.ref == 'refs/heads/main'
733-
runs-on: ubuntu-latest
734-
needs: upload_dev_docs
735-
steps:
736-
- name: "Deploy the latest documentation index"
737-
uses: ansys/actions/doc-deploy-index@v7
738-
with:
739-
cname: ${{ env.DOCUMENTATION_CNAME }}/version/dev
740-
index-name: pyansys-geometry-vdev
741-
host-url: ${{ env.MEILISEARCH_HOST_URL }}
742-
api-key: ${{ env.MEILISEARCH_API_KEY }}
743-
python-version: ${{ env.MAIN_PYTHON_VERSION }}
725+
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
726+
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
727+
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}
744728

745729
upload_docs_release:
746730
name: Upload release documentation
@@ -749,36 +733,9 @@ jobs:
749733
needs: [release]
750734
steps:
751735
- name: Deploy the stable documentation
752-
uses: ansys/actions/doc-deploy-stable@v7
736+
uses: ansys/actions/doc-deploy-stable@v8
753737
with:
754738
cname: ${{ env.DOCUMENTATION_CNAME }}
755-
token: ${{ secrets.GITHUB_TOKEN }}
756-
757-
doc-index-stable:
758-
name: "Deploy stable docs index"
759-
runs-on: ubuntu-latest
760-
needs: upload_docs_release
761-
steps:
762-
- name: "Install Git and clone project"
763-
uses: actions/checkout@v4
764-
765-
- name: "Install the package requirements"
766-
run: pip install -e .
767-
768-
- name: "Get the version to PyMeilisearch"
769-
run: |
770-
VERSION=$(python -c "from ansys.geometry.core import __version__; print('.'.join(__version__.split('.')[:2]))")
771-
VERSION_MEILI=$(python -c "from ansys.geometry.core import __version__; print('-'.join(__version__.split('.')[:2]))")
772-
echo "Calculated VERSION: $VERSION"
773-
echo "Calculated VERSION_MEILI: $VERSION_MEILI"
774-
echo "VERSION=$VERSION" >> $GITHUB_ENV
775-
echo "VERSION_MEILI=$VERSION_MEILI" >> $GITHUB_ENV
776-
777-
- name: "Deploy the latest documentation index"
778-
uses: ansys/actions/doc-deploy-index@v7
779-
with:
780-
cname: ${{ env.DOCUMENTATION_CNAME }}/version/${{ env.VERSION }}
781-
index-name: pyansys-geometry-v${{ env.VERSION_MEILI }}
782-
host-url: ${{ env.MEILISEARCH_HOST_URL }}
783-
api-key: ${{ env.MEILISEARCH_API_KEY }}
784-
python-version: ${{ env.MAIN_PYTHON_VERSION }}
739+
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
740+
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
741+
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}

.github/workflows/docker_cleanup.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
steps:
2323

2424
- name: "Perform versions cleanup - except certain tags"
25-
uses: ansys/actions/hk-package-clean-except@v7
25+
uses: ansys/actions/hk-package-clean-except@v8
2626
with:
2727
package-name: 'geometry'
2828
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/label.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,10 @@ jobs:
9696
pull-requests: write
9797
runs-on: ubuntu-latest
9898
steps:
99-
- uses: ansys/actions/doc-changelog@v7
99+
- uses: ansys/actions/doc-changelog@v8
100100
with:
101101
token: ${{ secrets.PYANSYS_CI_BOT_TOKEN }}
102102
use-conventional-commits: true
103103
use-default-towncrier-config: true
104+
bot-user: ${{ secrets.PYANSYS_CI_BOT_USERNAME }}
105+
bot-email: ${{ secrets.PYANSYS_CI_BOT_EMAIL }}

.github/workflows/nightly_docker_test.yml

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
name: Nightly Server test - Latest build
22
on:
33
workflow_dispatch:
4+
inputs:
5+
promote:
6+
description: 'Promote the latest build to stable (if tests pass)'
7+
required: false
8+
default: false
9+
type: boolean
410
schedule: # UTC at 0300
511
- cron: "0 3 * * *"
612
# Trigger workflow when file is modified
@@ -36,7 +42,8 @@ jobs:
3642
name: Nightly unstable testing - Windows
3743
if: vars.SKIP_UNSTABLE_CONTAINERS_TEMPORARILY != 1
3844
runs-on: [self-hosted, Windows, pygeometry]
39-
45+
env:
46+
PYVISTA_OFF_SCREEN: true
4047
steps:
4148
- uses: actions/checkout@v4
4249

@@ -47,6 +54,8 @@ jobs:
4754

4855
- name: Set up headless display
4956
uses: pyvista/setup-headless-display-action@v2
57+
with:
58+
pyvista: false
5059

5160
- name: Create Python venv
5261
run: |
@@ -157,7 +166,7 @@ jobs:
157166
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_LINUX_TAG }}
158167
159168
- name: Run pytest
160-
uses: ansys/actions/tests-pytest@v7
169+
uses: ansys/actions/tests-pytest@v8
161170
env:
162171
ALLOW_PLOTTING: true
163172
with:
@@ -197,3 +206,53 @@ jobs:
197206
}
198207
]
199208
}
209+
210+
promote-windows:
211+
needs: [windows-tests, linux-tests]
212+
runs-on: windows-latest
213+
name: Promote Windows container
214+
if: ${{ github.event.inputs.promote == 'true' || github.event_name == 'schedule' }}
215+
env:
216+
WINDOWS_UNSTABLE: ghcr.io/ansys/geometry:windows-latest-unstable
217+
WINDOWS_STABLE_GHCR: ghcr.io/ansys/geometry:windows-latest
218+
steps:
219+
- name: Login in Github Container registry
220+
uses: docker/login-action@v3
221+
with:
222+
registry: ghcr.io
223+
username: ${{ github.actor }}
224+
password: ${{ secrets.GITHUB_TOKEN }}
225+
226+
- name: Pull Windows latest unstable container
227+
run: docker pull ${{ env.WINDOWS_UNSTABLE }}
228+
229+
- name: Tag container as latest (stable) for Github Container registry
230+
run: docker tag ${{ env.WINDOWS_UNSTABLE }} ${{ env.WINDOWS_STABLE_GHCR }}
231+
232+
- name: Publish latest stable container in ghcr.io
233+
run: docker push ${{ env.WINDOWS_STABLE_GHCR }}
234+
235+
promote-linux:
236+
needs: [windows-tests, linux-tests]
237+
runs-on: ubuntu-latest
238+
name: Promote Linux container
239+
if: ${{ github.event.inputs.promote == 'true' || github.event_name == 'schedule' }}
240+
env:
241+
LINUX_UNSTABLE: ghcr.io/ansys/geometry:linux-latest-unstable
242+
LINUX_STABLE_GHCR: ghcr.io/ansys/geometry:linux-latest
243+
steps:
244+
- name: Login in Github Container registry
245+
uses: docker/login-action@v3
246+
with:
247+
registry: ghcr.io
248+
username: ${{ github.actor }}
249+
password: ${{ secrets.GITHUB_TOKEN }}
250+
251+
- name: Pull Linux latest unstable container
252+
run: docker pull ${{ env.LINUX_UNSTABLE }}
253+
254+
- name: Tag container as latest (stable) for Github Container registry
255+
run: docker tag ${{ env.LINUX_UNSTABLE }} ${{ env.LINUX_STABLE_GHCR }}
256+
257+
- name: Publish latest stable container in ghcr.io
258+
run: docker push ${{ env.LINUX_STABLE_GHCR }}

0 commit comments

Comments
 (0)