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
2424concurrency :
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"
590618591619 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"
680708681709 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
0 commit comments