@@ -58,12 +58,11 @@ jobs:
5858 max-parallel : 3
5959 matrix :
6060 python-version : ["3.10","3.11","3.12"]
61- package-name :
61+ package-name :
6262 - geos-ats
6363 - geos-utils
6464 - geos-geomechanics
6565 - geos-mesh
66- - geos-posp
6766 - geos-processing
6867 - geos-timehistory
6968 - geos-trame
7877 dependencies : " geos-utils geos-geomechanics"
7978 - package-name : geos-processing
8079 dependencies : " geos-utils geos-mesh geos-geomechanics"
81- - package-name : geos-posp
82- dependencies : " geos-utils geos-mesh geos-geomechanics geos-processing"
8380 - package-name : pygeos-tools
8481 dependencies : " geos-utils geos-mesh"
8582 - package-name : geos-timehistory
@@ -92,11 +89,11 @@ jobs:
9289 with :
9390 python-version : ${{ matrix.python-version }}
9491 cache : ' pip'
95-
92+
9693 - name : Install OSMesa and GL
9794 run : |
9895 sudo apt-get update
99- sudo apt-get install -y libosmesa6
96+ sudo apt-get install -y libosmesa6
10097 sudo apt-get install -y \
10198 libegl1-mesa-dev \
10299 libgles2-mesa-dev \
@@ -151,7 +148,7 @@ jobs:
151148 echo "Label '${{ env.LABEL_TEST_GEOS_INTEGRATION }}' found"
152149 fi
153150 echo "has_label=$LABEL_FOUND" >> $GITHUB_OUTPUT
154-
151+
155152 check_force_integration_label :
156153 runs-on : ubuntu-latest
157154 needs : [build]
@@ -281,11 +278,11 @@ jobs:
281278 echo "required=false" >> "$GITHUB_OUTPUT"
282279 echo "skip_reason=no-geos-integrated-changes" >> "$GITHUB_OUTPUT"
283280 fi
284-
281+
285282 geos_ci_dispatch :
286283 name : Dispatch cases of GEOS CI
287284 runs-on : ubuntu-latest
288- outputs :
285+ outputs :
289286 is_GEOS_CI_skipped : ${{ steps.dispatch.outputs.skipped }}
290287 fwd_geos_integration_required : ${{ steps.dispatch.outputs.fwd_geos_integration_required }}
291288 fwd_skip_reason : ${{ steps.dispatch.outputs.skip_reason }}
@@ -298,31 +295,31 @@ jobs:
298295 HAS_TEST_LABEL="${{ needs.check_integration_label.outputs.has_geos_integration_label }}"
299296 HAS_FORCE_LABEL="${{ needs.check_force_integration_label.outputs.has_geos_integration_force_label }}"
300297 SKIP_REASON="${{ needs.check_geos_integration_required.outputs.skip_reason }}"
301-
298+
302299 echo "fwd_geos_integration_required=${GEOS_REQUIRED}" >> "$GITHUB_OUTPUT"
303300 echo "fwd_skip_reason=${SKIP_REASON}" >> "$GITHUB_OUTPUT"
304-
301+
305302 echo "=== GEOS Integration Dispatch ==="
306303 echo "GEOS Required (by file changes): ${GEOS_REQUIRED}"
307304 echo "Has '${{ env.LABEL_TEST_GEOS_INTEGRATION }}' label: ${HAS_TEST_LABEL}"
308305 echo "Has '${{ env.LABEL_FORCE_GEOS_INTEGRATION }}' label: ${HAS_FORCE_LABEL}"
309306 echo ""
310-
307+
311308 # Case 1: Force label - always run tests
312309 if [[ "$HAS_FORCE_LABEL" == "true" ]]; then
313310 echo "✓ '${{ env.LABEL_FORCE_GEOS_INTEGRATION }}' label present - forcing GEOS integration tests"
314311 echo "skipped=false" >> "$GITHUB_OUTPUT"
315312 exit 0
316313 fi
317-
314+
318315 # Case 2: GEOS required AND test label present - run tests
319316 if [[ "$GEOS_REQUIRED" == "true" && "$HAS_TEST_LABEL" == "true" ]]; then
320317 echo "✓ GEOS integration required and '${{ env.LABEL_TEST_GEOS_INTEGRATION }}' label present"
321318 echo " Will proceed with GEOS integration tests"
322319 echo "skipped=false" >> "$GITHUB_OUTPUT"
323320 exit 0
324321 fi
325-
322+
326323 # Case 3: GEOS required BUT test label missing - ERROR
327324 if [[ "$GEOS_REQUIRED" == "true" && "$HAS_TEST_LABEL" == "false" ]]; then
328325 echo "✗ ERROR: GEOS integration is required but '${{ env.LABEL_TEST_GEOS_INTEGRATION }}' label is missing"
@@ -334,7 +331,7 @@ jobs:
334331 echo "Action required: Add the '${{ env.LABEL_TEST_GEOS_INTEGRATION }}' label to this PR"
335332 exit 1
336333 fi
337-
334+
338335 # Case 4: GEOS NOT required BUT test label present - SKIP TESTS
339336 if [[ "$GEOS_REQUIRED" == "false" && "$HAS_TEST_LABEL" == "true" ]]; then
340337 echo "⊘ SKIPPED: '${{ env.LABEL_TEST_GEOS_INTEGRATION }}' label present but GEOS integration is not required"
@@ -348,7 +345,7 @@ jobs:
348345 echo "skipped=true" >> "$GITHUB_OUTPUT"
349346 exit 0
350347 fi
351-
348+
352349 # Case 5: GEOS NOT required AND no labels - SKIP TESTS
353350 if [[ "$GEOS_REQUIRED" == "false" && "$HAS_TEST_LABEL" == "false" ]]; then
354351 echo "⊘ GEOS integration not required and no labels present"
@@ -357,7 +354,7 @@ jobs:
357354 echo "skipped=true" >> "$GITHUB_OUTPUT"
358355 exit 0
359356 fi
360-
357+
361358 # Should never reach here
362359 echo "✗ ERROR: Unexpected state in dispatch logic"
363360 exit 1
@@ -383,7 +380,7 @@ jobs:
383380
384381 GEOS_REQUIRED="${{ needs.geos_ci_dispatch.outputs.fwd_geos_integration_required }}"
385382 SKIP_REASON="${{ needs.geos_ci_dispatch.outputs.fwd_skip_reason }}"
386-
383+
387384 GEOS_RESULT="${{ needs.geos_integration_test.result }}"
388385
389386 if [[ "$GEOS_REQUIRED" == "true" ]]; then
0 commit comments