Skip to content

Commit 9cabf88

Browse files
committed
ci: cleanup nightly docker test workflow
1 parent 831494c commit 9cabf88

File tree

1 file changed

+43
-21
lines changed

1 file changed

+43
-21
lines changed

.github/workflows/nightly_docker_test.yml

Lines changed: 43 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@ concurrency:
3232
group: ${{ github.workflow }}-${{ github.ref }}
3333
cancel-in-progress: true
3434

35-
permissions:
36-
contents: write
37-
packages: write
35+
permissions: {} # Disable default permissions
3836

3937
jobs:
4038

@@ -44,6 +42,9 @@ jobs:
4442
outputs:
4543
skip_core_windows: ${{ steps.services.outputs.skip_core_windows }}
4644
skip_core_linux: ${{ steps.services.outputs.skip_core_linux }}
45+
permissions:
46+
contents: read
47+
packages: read
4748
strategy:
4849
matrix:
4950
include:
@@ -65,23 +66,28 @@ jobs:
6566

6667
- name: Check ${{ matrix.service-name }} manifest
6768
id: services
69+
env:
70+
CONTAINER_STABLE: ${{ matrix.container-stable }}
71+
CONTAINER_UNSTABLE: ${{ matrix.container-unstable }}
72+
SERVICE: ${{ matrix.service }}
73+
SERVICE_NAME: ${{ matrix.service-name }}
6874
run: |
69-
docker manifest inspect ghcr.io/ansys/geometry:${{ matrix.container-stable }} > ${{ matrix.container-stable }}.json
70-
docker manifest inspect ghcr.io/ansys/geometry:${{ matrix.container-unstable }} > ${{ matrix.container-unstable }}.json || true
75+
docker manifest inspect ghcr.io/ansys/geometry:${CONTAINER_STABLE} > ${CONTAINER_STABLE}.json
76+
docker manifest inspect ghcr.io/ansys/geometry:${CONTAINER_UNSTABLE} > ${CONTAINER_UNSTABLE}.json || true
7177
7278
# Verify that the unstable manifest exists - otherwise create an empty file
73-
if [ ! -f ${{ matrix.container-unstable }}.json ]; then
74-
touch ${{ matrix.container-unstable }}.json
79+
if [ ! -f ${CONTAINER_UNSTABLE}.json ]; then
80+
touch ${CONTAINER_UNSTABLE}.json
7581
fi
7682
7783
7884
# Check if the manifests are the same (and if so, create an output that will skip the next job)
79-
if diff ${{ matrix.container-stable }}.json ${{ matrix.container-unstable }}.json; then
80-
echo "${{ matrix.service-name }} container manifests are the same... skipping"
81-
echo "skip_${{ matrix.service }}=1" >> "$GITHUB_OUTPUT"
85+
if diff ${CONTAINER_STABLE}.json ${CONTAINER_UNSTABLE}.json; then
86+
echo "${SERVICE_NAME} container manifests are the same... skipping"
87+
echo "skip_${SERVICE}=1" >> "$GITHUB_OUTPUT"
8288
else
83-
echo "${{ matrix.service-name }} container manifests are different"
84-
echo "skip_${{ matrix.service }}=0" >> "$GITHUB_OUTPUT"
89+
echo "${SERVICE_NAME} container manifests are different"
90+
echo "skip_${SERVICE}=0" >> "$GITHUB_OUTPUT"
8591
fi
8692
8793
# =================================================================================================
@@ -95,6 +101,9 @@ jobs:
95101
runs-on: [self-hosted, Windows, pygeometry]
96102
env:
97103
PYVISTA_OFF_SCREEN: true
104+
permissions:
105+
contents: read
106+
packages: read
98107
steps:
99108
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
100109
with:
@@ -128,18 +137,23 @@ jobs:
128137

129138
- name: Download Geometry service container (always latest version)
130139
run: |
131-
docker image rm ${{ env.ANSRV_GEO_IMAGE_WINDOWS_CORE_TAG }}
132-
docker pull ${{ env.ANSRV_GEO_IMAGE_WINDOWS_CORE_TAG }}
140+
docker image rm $env:ANSRV_GEO_IMAGE_WINDOWS_CORE_TAG
141+
docker pull $env:ANSRV_GEO_IMAGE_WINDOWS_CORE_TAG
133142
134143
- name: Check location of self-hosted runner and define license server accordingly
135144
if: runner.name == 'pygeometry-ci-2'
145+
env:
146+
LICENSE_SERVER_INTERNAL: ${{ secrets.LICENSE_SERVER_INTERNAL }}
136147
run:
137-
echo "ANSRV_GEO_LICENSE_SERVER=${{ secrets.LICENSE_SERVER_INTERNAL }}" | Out-File -FilePath $env:GITHUB_ENV -Append
148+
echo "ANSRV_GEO_LICENSE_SERVER=$env:LICENSE_SERVER_INTERNAL" | Out-File -FilePath $env:GITHUB_ENV -Append
138149

139150
- name: Start Geometry service and verify start
151+
env:
152+
TRANSPORT_MODE_SELECTION: ${{ secrets.TRANSPORT_MODE_SELECTION }}
153+
PORT_MAPPING: "${{ env.ANSRV_GEO_PORT }}:50051"
140154
run: |
141155
.\.venv\Scripts\Activate.ps1
142-
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_CORE_TAG }} ${{ secrets.TRANSPORT_MODE_SELECTION }}
156+
docker run --detach --name $env:GEO_CONT_NAME -e LICENSE_SERVER=$env:ANSRV_GEO_LICENSE_SERVER -p $env:PORT_MAPPING $env:ANSRV_GEO_IMAGE_WINDOWS_CORE_TAG $env:TRANSPORT_MODE_SELECTION
143157
python -c "from ansys.geometry.core.connection.validate import validate; validate()"
144158
145159
- name: Run PyAnsys Geometry tests
@@ -151,9 +165,9 @@ jobs:
151165
- name: Stop the Geometry service
152166
if: always()
153167
run: |
154-
docker stop ${{ env.GEO_CONT_NAME }}
155-
docker logs ${{ env.GEO_CONT_NAME }}
156-
docker rm ${{ env.GEO_CONT_NAME }}
168+
docker stop $env:GEO_CONT_NAME
169+
docker logs $env:GEO_CONT_NAME
170+
docker rm $env:GEO_CONT_NAME
157171
158172
- name: Stop any remaining containers
159173
if: always()
@@ -206,7 +220,9 @@ jobs:
206220
needs: manifests
207221
if: needs.manifests.outputs.skip_core_linux == 0
208222
runs-on: ubuntu-latest
209-
223+
permissions:
224+
contents: read
225+
packages: read
210226
steps:
211227
- name: Login in Github Container registry
212228
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
@@ -216,9 +232,11 @@ jobs:
216232
password: ${{ secrets.GITHUB_TOKEN }}
217233

218234
- name: Pull and launch geometry service
235+
env:
236+
TRANSPORT_MODE_SELECTION: ${{ secrets.TRANSPORT_MODE_SELECTION }}
219237
run: |
220238
docker pull ${ANSRV_GEO_IMAGE_LINUX_CORE_TAG}
221-
docker run --detach --name ${GEO_CONT_NAME} -e LICENSE_SERVER=${ANSRV_GEO_LICENSE_SERVER} -p ${ANSRV_GEO_PORT}:50051 ${ANSRV_GEO_IMAGE_LINUX_CORE_TAG} ${{ secrets.TRANSPORT_MODE_SELECTION }}
239+
docker run --detach --name ${GEO_CONT_NAME} -e LICENSE_SERVER=${ANSRV_GEO_LICENSE_SERVER} -p ${ANSRV_GEO_PORT}:50051 ${ANSRV_GEO_IMAGE_LINUX_CORE_TAG} ${TRANSPORT_MODE_SELECTION}
222240
223241
- name: Set up headless display
224242
uses: pyvista/setup-headless-display-action@7d84ae825e6d9297a8e99bdbbae20d1b919a0b19 # v4.2
@@ -273,6 +291,8 @@ jobs:
273291
env:
274292
WINDOWS_UNSTABLE: ghcr.io/ansys/geometry:core-windows-latest-unstable
275293
WINDOWS_STABLE_GHCR: ghcr.io/ansys/geometry:core-windows-latest
294+
permissions:
295+
packages: write
276296
steps:
277297
- name: Login in Github Container registry
278298
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
@@ -298,6 +318,8 @@ jobs:
298318
env:
299319
LINUX_UNSTABLE: ghcr.io/ansys/geometry:core-linux-latest-unstable
300320
LINUX_STABLE_GHCR: ghcr.io/ansys/geometry:core-linux-latest
321+
permissions:
322+
packages: write
301323
steps:
302324
- name: Login in Github Container registry
303325
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0

0 commit comments

Comments
 (0)