Skip to content

Commit 92ddafe

Browse files
authored
Merge branch 'main' into dependabot/pip/pytest-8.3.4
2 parents 656fe4b + 2edaf63 commit 92ddafe

File tree

17 files changed

+370
-201
lines changed

17 files changed

+370
-201
lines changed

.github/workflows/ci_cd.yml

Lines changed: 75 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ env:
1313
PACKAGE_NAME: 'ansys-geometry-core'
1414
DOCUMENTATION_CNAME: 'geometry.docs.pyansys.com'
1515
ANSRV_GEO_IMAGE: 'ghcr.io/ansys/geometry'
16-
ANSRV_GEO_IMAGE_WINDOWS_TAG: ghcr.io/ansys/geometry:windows-latest
16+
ANSRV_GEO_IMAGE_DOCS_TAG: ghcr.io/ansys/geometry:windows-latest
1717
ANSRV_GEO_PORT: 700
1818
ANSRV_GEO_LICENSE_SERVER: ${{ secrets.LICENSE_SERVER }}
1919
GEO_CONT_NAME: ans_geo
2020
RESET_IMAGE_CACHE: 4
2121
IS_WORKFLOW_RUNNING: True
22-
ARTIFACTORY_VERSION: v251
22+
ARTIFACTORY_VERSION: v252
2323

2424
concurrency:
2525
group: ${{ github.workflow }}-${{ github.ref }}
@@ -109,7 +109,10 @@ jobs:
109109
testing-windows:
110110
name: Testing and coverage (Windows)
111111
needs: [smoke-tests]
112-
runs-on: [self-hosted, Windows, pygeometry]
112+
# runs-on: [self-hosted, Windows, pygeometry]
113+
runs-on: # TODO: Waiting for ansys-network runner to be updated
114+
group: pyansys-self-hosted
115+
labels: [self-hosted, Windows, pygeometry]
113116
continue-on-error: ${{ matrix.experimental }}
114117
env:
115118
SKIP_UNSTABLE: ${{ vars.SKIP_UNSTABLE_CONTAINERS_TEMPORARILY == 1 && matrix.experimental }}
@@ -122,6 +125,10 @@ jobs:
122125
experimental: false
123126
- docker-image: "windows-latest-unstable"
124127
experimental: true
128+
- docker-image: "core-windows-latest"
129+
experimental: false
130+
- docker-image: "core-windows-latest-unstable"
131+
experimental: true
125132

126133
steps:
127134
- uses: actions/checkout@v4
@@ -235,11 +242,11 @@ jobs:
235242
- name: Stop the Geometry service
236243
if: always()
237244
run: |
238-
if ( $env:SKIP_UNSTABLE -match 'false')
245+
if ( "${{ env.SKIP_UNSTABLE }}" -match 'false')
239246
{
240-
docker stop $env:GEO_CONT_NAME
241-
docker logs $env:GEO_CONT_NAME
242-
docker rm $env:GEO_CONT_NAME
247+
docker stop ${{ env.GEO_CONT_NAME }}
248+
docker logs ${{ env.GEO_CONT_NAME }}
249+
docker rm ${{ env.GEO_CONT_NAME }}
243250
}
244251
245252
- name: Stop any remaining containers
@@ -274,7 +281,7 @@ jobs:
274281
password: ${{ secrets.GITHUB_TOKEN }}
275282

276283
- name: Download Geometry service container (if needed)
277-
run: docker pull $env:ANSRV_GEO_IMAGE_WINDOWS_TAG
284+
run: docker pull ${{ env.ANSRV_GEO_IMAGE_DOCS_TAG }}
278285

279286
- name: Check location of self-hosted runner and define license server accordingly
280287
if: runner.name == 'pygeometry-ci-2'
@@ -290,7 +297,7 @@ jobs:
290297
}
291298
292299
- name: Start Geometry service and verify start
293-
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 }}
300+
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_DOCS_TAG }}
294301

295302
- name: Run Ansys documentation building action
296303
uses: ansys/actions/doc-build@v8
@@ -302,9 +309,9 @@ jobs:
302309
- name: Stop the Geometry service
303310
if: always()
304311
run: |
305-
docker stop $env:GEO_CONT_NAME
306-
docker logs $env:GEO_CONT_NAME
307-
docker rm $env:GEO_CONT_NAME
312+
docker stop ${{ env.GEO_CONT_NAME }}
313+
docker logs ${{ env.GEO_CONT_NAME }}
314+
docker rm ${{ env.GEO_CONT_NAME }}
308315
309316
- name: Stop any remaining containers
310317
if: always()
@@ -331,9 +338,9 @@ jobs:
331338
fail-fast: false
332339
matrix:
333340
include:
334-
- docker-image: "linux-latest"
341+
- docker-image: "core-linux-latest"
335342
experimental: false
336-
- docker-image: "linux-latest-unstable"
343+
- docker-image: "core-linux-latest-unstable"
337344
experimental: true
338345

339346
steps:
@@ -403,7 +410,7 @@ jobs:
403410
needs: [smoke-tests]
404411
runs-on: ubuntu-latest
405412
env:
406-
ANSRV_GEO_IMAGE_MINREQS: 'ghcr.io/ansys/geometry:linux-latest'
413+
ANSRV_GEO_IMAGE_MINREQS: 'ghcr.io/ansys/geometry:core-linux-latest'
407414
strategy:
408415
fail-fast: false
409416
matrix:
@@ -481,8 +488,9 @@ jobs:
481488
- name: Download binaries (if conditions met)
482489
if: env.REUSE_LAST_ARTIFACTS == 'false'
483490
run: |
484-
curl.exe -X GET -H "X-JFrog-Art-Api: ${{ secrets.ARTIFACTORY_KEY }}" ${{ secrets.ARTIFACTORY_URL }}/${{ env.ARTIFACTORY_VERSION }}/DockerWindows.zip --output windows-binaries.zip
485-
curl.exe -X GET -H "X-JFrog-Art-Api: ${{ secrets.ARTIFACTORY_KEY }}" ${{ secrets.ARTIFACTORY_URL }}/${{ env.ARTIFACTORY_VERSION }}/DockerLinux.zip --output linux-binaries.zip
491+
curl.exe -X GET -H "X-JFrog-Art-Api: ${{ secrets.ARTIFACTORY_KEY }}" ${{ secrets.ARTIFACTORY_URL }}/${{ env.ARTIFACTORY_VERSION }}/DockerWindows.zip --output windows-dms-binaries.zip
492+
curl.exe -X GET -H "X-JFrog-Art-Api: ${{ secrets.ARTIFACTORY_KEY }}" ${{ secrets.ARTIFACTORY_URL }}/${{ env.ARTIFACTORY_VERSION }}/DockerCoreWindows.zip --output windows-core-binaries.zip
493+
curl.exe -X GET -H "X-JFrog-Art-Api: ${{ secrets.ARTIFACTORY_KEY }}" ${{ secrets.ARTIFACTORY_URL }}/${{ env.ARTIFACTORY_VERSION }}/DockerCoreLinux.zip --output linux-core-binaries.zip
486494
487495
- name: Reuse last binaries (if conditions met)
488496
if: env.REUSE_LAST_ARTIFACTS == 'true'
@@ -501,21 +509,29 @@ jobs:
501509
git lfs fetch origin --include="$env:PREVIOUS_VERSION/*"
502510
git lfs checkout $env:PREVIOUS_VERSION
503511
# Copy the binaries from the previous version
504-
cp ./$env:PREVIOUS_VERSION/windows-binaries.zip windows-binaries.zip
505-
cp ./$env:PREVIOUS_VERSION/linux-binaries.zip linux-binaries.zip
512+
cp ./$env:PREVIOUS_VERSION/windows-dms-binaries.zip windows-dms-binaries.zip
513+
cp ./$env:PREVIOUS_VERSION/windows-core-binaries.zip windows-core-binaries.zip
514+
cp ./$env:PREVIOUS_VERSION/linux-core-binaries.zip linux-core-binaries.zip
506515
507-
- name: Upload Windows binaries as workflow artifacts
516+
- name: Upload DMS Windows binaries as workflow artifacts
508517
uses: actions/upload-artifact@v4
509518
with:
510-
name: windows-binaries.zip
511-
path: windows-binaries.zip
519+
name: windows-dms-binaries.zip
520+
path: windows-dms-binaries.zip
512521
retention-days: 1
513522

514-
- name: Upload Linux binaries as workflow artifacts
523+
- name: Upload Linux Core service binaries as workflow artifacts
515524
uses: actions/upload-artifact@v4
516525
with:
517-
name: linux-binaries.zip
518-
path: linux-binaries.zip
526+
name: linux-core-binaries.zip
527+
path: linux-core-binaries.zip
528+
retention-days: 1
529+
530+
- name: Upload Windows Core service binaries as workflow artifacts
531+
uses: actions/upload-artifact@v4
532+
with:
533+
name: windows-core-binaries.zip
534+
path: windows-core-binaries.zip
519535
retention-days: 1
520536

521537
- name: Publish the binaries to private repo
@@ -525,8 +541,9 @@ jobs:
525541
$env:VERSION=$env:VERSION_WITH_PREFIX.substring(1)
526542
mkdir $env:VERSION -ErrorAction SilentlyContinue
527543
Remove-Item -Recurse -Force .\$env:VERSION\*
528-
mv windows-binaries.zip .\$env:VERSION\
529-
mv linux-binaries.zip .\$env:VERSION\
544+
mv windows-dms-binaries.zip .\$env:VERSION\
545+
mv windows-core-binaries.zip .\$env:VERSION\
546+
mv linux-core-binaries.zip .\$env:VERSION\
530547
git config user.email ${{ secrets.BINARIES_EMAIL }}
531548
git config user.name ${{ secrets.BINARIES_USERNAME }}
532549
git add *
@@ -535,8 +552,19 @@ jobs:
535552
536553
build-windows-container:
537554
name: Building Geometry Service - Windows
538-
runs-on: [self-hosted, Windows, pygeometry]
555+
# runs-on: [self-hosted, Windows, pygeometry]
556+
runs-on: # TODO: Waiting for ansys-network runner to be updated
557+
group: pyansys-self-hosted
558+
labels: [self-hosted, Windows, pygeometry]
539559
needs: [fetch-release-artifacts]
560+
strategy:
561+
fail-fast: false
562+
matrix:
563+
include:
564+
- mode: "dms"
565+
zip-file: "windows-dms-binaries.zip"
566+
- mode: "coreservice"
567+
zip-file: "windows-core-binaries.zip"
540568
steps:
541569
- name: Checkout repository
542570
uses: actions/checkout@v4
@@ -546,16 +574,16 @@ jobs:
546574
with:
547575
python-version: ${{ env.MAIN_PYTHON_VERSION }}
548576

549-
- name: Download Windows binaries
577+
- name: Download Windows binaries for ${{ matrix.mode }}
550578
uses: actions/download-artifact@v4
551579
with:
552-
name: windows-binaries.zip
553-
path: docker/windows-binaries.zip
580+
name: ${{ matrix.zip-file }}
581+
path: docker/${{ matrix.zip-file }}
554582

555583
- name: Build Docker image
556584
working-directory: docker
557585
run: |
558-
docker build -f windows/Dockerfile -t ghcr.io/ansys/geometry:windows-latest-tmp .
586+
docker build -f windows/${{ matrix.mode }}/Dockerfile -t ghcr.io/ansys/geometry:windows-tmp .
559587
560588
- name: Check location of self-hosted runner and define license server accordingly
561589
if: runner.name == 'pygeometry-ci-2'
@@ -564,7 +592,7 @@ jobs:
564592

565593
- name: Launch Geometry service
566594
run: |
567-
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-latest-tmp
595+
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
568596
569597
- name: Validate connection using PyAnsys Geometry
570598
run: |
@@ -589,14 +617,14 @@ jobs:
589617
- name: "Compressing Windows Dockerfile"
590618
uses: vimtor/[email protected]
591619
with:
592-
files: docker/windows/Dockerfile
593-
dest: windows-dockerfile.zip
620+
files: docker/windows/${{ matrix.mode }}/Dockerfile
621+
dest: windows-${{ matrix.mode }}-dockerfile.zip
594622

595623
- name: Upload Windows Dockerfile
596624
uses: actions/upload-artifact@v4
597625
with:
598-
name: windows-dockerfile.zip
599-
path: windows-dockerfile.zip
626+
name: windows-${{ matrix.mode }}-dockerfile.zip
627+
path: windows-${{ matrix.mode }}-dockerfile.zip
600628
retention-days: 7
601629

602630
- name: Stop the Geometry service
@@ -618,7 +646,7 @@ jobs:
618646
- name: Delete the Docker images (and untagged ones)
619647
if: always()
620648
run: |
621-
docker image rm ghcr.io/ansys/geometry:windows-latest-tmp
649+
docker image rm ghcr.io/ansys/geometry:windows-tmp
622650
docker system prune -f
623651
624652
# =================================================================================================
@@ -641,17 +669,17 @@ jobs:
641669
- name: Download Linux binaries
642670
uses: actions/download-artifact@v4
643671
with:
644-
name: linux-binaries.zip
645-
path: docker/linux-binaries.zip
672+
name: linux-core-binaries.zip
673+
path: docker/linux-core-binaries.zip
646674

647675
- name: Build Docker image
648676
working-directory: docker
649677
run: |
650-
docker build -f linux/Dockerfile -t ghcr.io/ansys/geometry:linux-latest-tmp .
678+
docker build -f linux/Dockerfile -t ghcr.io/ansys/geometry:linux-tmp .
651679
652680
- name: Launch Geometry service
653681
run: |
654-
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-latest-tmp
682+
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
655683
656684
- name: Validate connection using PyAnsys Geometry
657685
run: |
@@ -679,14 +707,14 @@ jobs:
679707
- name: "Compressing Linux Dockerfile"
680708
uses: vimtor/[email protected]
681709
with:
682-
files: docker/linux/Dockerfile
683-
dest: linux-dockerfile.zip
710+
files: docker/linux/coreservice/Dockerfile
711+
dest: linux-core-dockerfile.zip
684712

685713
- name: Upload Linux Dockerfile
686714
uses: actions/upload-artifact@v4
687715
with:
688-
name: linux-dockerfile.zip
689-
path: linux-dockerfile.zip
716+
name: linux-core-dockerfile.zip
717+
path: linux-core-dockerfile.zip
690718
retention-days: 7
691719

692720
- name: Stop the Geometry service
@@ -717,7 +745,7 @@ jobs:
717745
uses: ansys/actions/release-github@v8
718746
with:
719747
library-name: ${{ env.PACKAGE_NAME }}
720-
additional-artifacts: windows-dockerfile.zip linux-dockerfile.zip
748+
additional-artifacts: windows-dms-dockerfile.zip windows-core-dockerfile.zip linux-core-dockerfile.zip
721749

722750
upload_dev_docs:
723751
name: Upload dev documentation

.github/workflows/docker_ansyslab_linux.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ permissions:
1212
packages: read
1313

1414
env:
15-
LINUX_STABLE_GHCR: ghcr.io/ansys/geometry:linux-latest
15+
LINUX_STABLE_GHCR: ghcr.io/ansys/geometry:core-linux-latest
1616
LINUX_STABLE_FUJI: azwepsifujiaksacr.azurecr.io/ansys/discovery/geometry:linux-latest
1717

1818
jobs:

.github/workflows/docker_ansyslab_windows.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Upload Windows latest to Ansys Lab
1+
name: Upload Windows latest to Ansys Lab (DMS)
22

33
on:
44
workflow_dispatch:

.github/workflows/docker_cleanup.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ jobs:
2626
with:
2727
package-name: 'geometry'
2828
token: ${{ secrets.GITHUB_TOKEN }}
29-
tags-kept: 'windows-latest, windows-latest-unstable, windows-coreservice, windows-coreservice-unstable, linux-latest, linux-latest-unstable, 24.1, 24.2, 25.1, windows-24.1, windows-24.2, windows-25.1, linux-24.1, linux-24.2, linux-25.1'
29+
tags-kept: 'windows-latest, windows-latest-unstable, core-windows-latest, core-windows-latest-unstable, core-linux-latest, core-linux-latest-unstable, 24.1, 24.2, 25.1, windows-24.1, windows-24.2, windows-25.1, windows-25.2, core-windows-25.2, linux-24.1, linux-24.2, linux-25.1, core-linux-25.2'

0 commit comments

Comments
 (0)