]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix(CI): Only run integration tests if needed 43354/head
authorFerdinand Thiessen <opensource@fthiessen.de>
Mon, 5 Feb 2024 13:07:06 +0000 (14:07 +0100)
committerFerdinand Thiessen <opensource@fthiessen.de>
Mon, 5 Feb 2024 13:07:06 +0000 (14:07 +0100)
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
.github/workflows/integration-s3-primary.yml
.github/workflows/integration-sqlite.yml

index ba43cb4710e18a812acf567d0053ea39994a0b33..e6170aa43f2492657ccaf3ac36225f607cff132a 100644 (file)
@@ -1,27 +1,41 @@
 name: S3 primary storage integration tests
 on:
   pull_request:
-    paths:
-      - '.github/workflows/**'
-      - '3rdparty/**'
-      - 'build/integration/**'
-      - '**/*.php'
-      - '**/lib/**'
-      - '**/tests/**'
-      - '**/vendor-bin/**'
-      - '.php-cs-fixer.dist.php'
-      - 'composer.json'
-      - 'composer.lock'
 
 concurrency:
   group: integration-s3-primary-${{ github.head_ref || github.run_id }}
   cancel-in-progress: true
 
 jobs:
+  changes:
+    runs-on: ubuntu-latest-low
+
+    outputs:
+      src: ${{ steps.changes.outputs.src}}
+
+    steps:
+      - uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd # v3.0.0
+        id: changes
+        continue-on-error: true
+        with:
+          filters: |
+            src:
+              - '.github/workflows/**'
+              - '3rdparty/**'
+              - '**/*.php'
+              - '**/lib/**'
+              - '**/tests/**'
+              - '**/vendor-bin/**'
+              - 'build/integration/**'
+              - '.php-cs-fixer.dist.php'
+              - 'composer.json'
+              - 'composer.lock'
+
   integration-s3-primary:
     runs-on: ubuntu-latest
+    needs: changes
 
-    if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
+    if: needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh'
 
     strategy:
       # do not stop on another job's failure
@@ -91,11 +105,13 @@ jobs:
 
 
   s3-primary-integration-summary:
+    permissions:
+      contents: none
     runs-on: ubuntu-latest-low
-    needs: [integration-s3-primary]
+    needs: [changes, integration-s3-primary]
 
     if: always()
 
     steps:
       - name: Summary status
-        run: if ${{ needs.integration-s3-primary.result != 'success' }}; then exit 1; fi
+        run: if ${{ needs.changes.outputs.src != 'false' && needs.integration-s3-primary.result != 'success' }}; then exit 1; fi
index e2d531561214fe825de629d6a7e989a516991469..edf65b810f28013b05789a5af3a1efd484078185 100644 (file)
@@ -20,8 +20,7 @@ jobs:
     runs-on: ubuntu-latest-low
 
     outputs:
-      # FIXME src: ${{ steps.changes.outputs.src}}
-      src: 'true'
+      src: ${{ steps.changes.outputs.src}}
 
     steps:
       - uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd # v3.0.0