Просмотр исходного кода

test(cypress): only use the cypress cloud on pull requests

* Disable recording on integration branches.
* No parallelization on integration branches.

This will still run the cypress tests - but a bit slower and without recordings.

The matrix syntax to enable this is somewhat hard to parse.
In case of a PR the matrix will contain one entry for use-cypress-cloud
with the value `true`. Otherwise it will have one entry `false`.

This way we can exclude containers for the case without the cypress cloud.

Signed-off-by: Max <max@nextcloud.com>
Max 8 месяцев назад
Родитель
Сommit
716d1a2d76
1 измененных файлов с 11 добавлено и 4 удалено
  1. 11 4
      .github/workflows/cypress.yml

+ 11 - 4
.github/workflows/cypress.yml

@@ -74,6 +74,13 @@ jobs:
         # Run multiple copies of the current job in parallel
         # Please increase the number or runners as your tests suite grows
         containers: ["component", 1, 2]
+        # Only use cypress cloud for PRs
+        use-cypress-cloud:
+          - ${{ !!github.head_ref }}
+        # Only use one container if we are not using the cypress cloud.
+        exclude:
+          - use-cypress-cloud: false
+            containers: 2
 
     name: runner ${{ matrix.containers }}
 
@@ -96,14 +103,14 @@ jobs:
       - name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
         uses: cypress-io/github-action@59810ebfa5a5ac6fcfdcfdf036d1cd4d083a88f2 # v6.5.0
         with:
-          record: true
-          parallel: true
+          record: '${{ !!matrix.use-cypress-cloud }}'
+          parallel: '${{ !!matrix.use-cypress-cloud }}'
           # cypress run type
           component: ${{ matrix.containers == 'component' }}
-          group: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }}
+          group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud || 'Run E2E' }}
           # cypress env
           ci-build-id: ${{ github.sha }}-${{ github.run_number }}
-          tag: ${{ github.event_name }}
+          tag: ${{ matrix.use-cypress-cloud && github.event_name }}
         env:
           # Needs to be prefixed with CYPRESS_
           CYPRESS_BRANCH: ${{ env.BRANCH }}