@@ -23,7 +23,6 @@ concurrency:
2323permissions :
2424 contents : read
2525 packages : read
26- id-token : write
2726
2827jobs :
2928
4847 backend-version : " 25.2"
4948 steps :
5049 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
50+ with :
51+ persist-credentials : false
5152
5253 - name : Set up Python
5354 uses : actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
@@ -77,12 +78,18 @@ jobs:
7778 password : ${{ secrets.GITHUB_TOKEN }}
7879
7980 - name : Download Geometry service container (if needed)
80- run : docker pull ${{ env.ANSRV_GEO_IMAGE }}:${{ matrix.image-tag }}
81+ env :
82+ FULL_IMAGE_NAME : " ${{ env.ANSRV_GEO_IMAGE }}:${{ matrix.image-tag }}"
83+ run : |
84+ Write-Host "Pulling Docker image: $env:FULL_IMAGE_NAME"
85+ docker pull $env:FULL_IMAGE_NAME
8186
8287 - name : Check location of self-hosted runner and define license server accordingly
8388 if : runner.name == 'pygeometry-ci-2'
89+ env :
90+ LICENSE_SERVER_INTERNAL : ${{ secrets.LICENSE_SERVER_INTERNAL }}
8491 run :
85- echo "ANSRV_GEO_LICENSE_SERVER=${{ secrets. LICENSE_SERVER_INTERNAL }} " | Out-File -FilePath $env:GITHUB_ENV -Append
92+ echo "ANSRV_GEO_LICENSE_SERVER=$env: LICENSE_SERVER_INTERNAL" | Out-File -FilePath $env:GITHUB_ENV -Append
8693
8794 - name : Stop any running containers
8895 run : |
@@ -100,17 +107,27 @@ jobs:
100107 echo "SERVER_ENDPOINT=$env:SERVER_ENDPOINT" | Out-File -FilePath $env:GITHUB_ENV -Append
101108
102109 - name : Start Geometry service and verify start
110+ env :
111+ FULL_IMAGE_NAME : " ${{ env.ANSRV_GEO_IMAGE }}:${{ matrix.image-tag }}"
112+ PORT_MAPPING : " ${{ env.ANSRV_GEO_PORT }}:50051"
113+ TRANSPORT_MODE_SELECTION : ${{ secrets.TRANSPORT_MODE_SELECTION }}
103114 run : |
104115 .\.venv\Scripts\Activate.ps1
105- docker run --detach --name ${{ env.GEO_CONT_NAME }} -e LICENSE_SERVER=${{ env.ANSRV_GEO_LICENSE_SERVER }} ${{ env.SERVER_ENDPOINT }} -p ${{ env.ANSRV_GEO_PORT }}:50051 ${{ env.ANSRV_GEO_IMAGE }}:${{ matrix.image-tag }} ${{ secrets.TRANSPORT_MODE_SELECTION }}
116+ # Write command to file launch.txt for sanitizing purposes
117+ echo "docker run --detach --name $env:GEO_CONT_NAME -e LICENSE_SERVER=$env:ANSRV_GEO_LICENSE_SERVER $env:SERVER_ENDPOINT -p $env:PORT_MAPPING $env:FULL_IMAGE_NAME $env:TRANSPORT_MODE_SELECTION" | Out-File -FilePath launch.txt
118+ # Read the file and execute the command
119+ $command = Get-Content -Path launch.txt | Select-String -Pattern "docker run"
120+ Invoke-Expression $command.Line
106121 Start-Sleep -Seconds 10
107122 python -c "from ansys.geometry.core.connection.validate import validate; validate()"
108123
109124 - name : Testing
110125 timeout-minutes : 20 # On Windows self-hosted runners, sometimes hangs...
126+ env :
127+ BACKEND_VERSION : ${{ matrix.backend-version }}
111128 run : |
112129 .\.venv\Scripts\Activate.ps1
113- pytest -v --backwards-compatibility=yes --backend-version=${{ matrix.backend-version }} -rf
130+ pytest -v --backwards-compatibility=yes --backend-version=$env:BACKEND_VERSION -rf
114131
115132 - name : Upload coverage to Codecov
116133 uses : codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
@@ -122,9 +139,9 @@ jobs:
122139 - name : Stop the Geometry service
123140 if : always()
124141 run : |
125- docker stop ${{ env. GEO_CONT_NAME }}
126- docker logs ${{ env. GEO_CONT_NAME }}
127- docker rm ${{ env. GEO_CONT_NAME }}
142+ docker stop $env: GEO_CONT_NAME
143+ docker logs $env: GEO_CONT_NAME
144+ docker rm $env: GEO_CONT_NAME
128145
129146 - name : Stop any remaining containers
130147 if : always()
0 commit comments