]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - .github/workflows/test.yml
Update openapi documentation
[github/Chocobozzz/PeerTube.git] / .github / workflows / test.yml
index 6b9119e2a84a6c1655fcca99b1cf295124785382..f0bd3ba3734b9ec6eaea05c27a873066e706cbca 100644 (file)
@@ -1,6 +1,14 @@
 name: Test Suite
 
-on: [push, pull_request]
+on:
+  push:
+    branches:
+      - develop
+      - master
+  pull_request:
+    types: [synchronize, opened]
+  schedule:
+    - cron: '0 3 * * 1-5'
 
 jobs:
 
@@ -21,15 +29,19 @@ jobs:
           POSTGRES_USER: peertube
           POSTGRES_HOST_AUTH_METHOD: trust
 
+      ldap:
+        image: rroemhild/test-openldap
+        ports:
+          - 389:389
+
     strategy:
       fail-fast: false
       matrix:
-        test_suite: [ misc, api-1, api-2, api-3, api-4, cli, lint ]
+        test_suite: [ misc, api-1, api-2, api-3, api-4, cli, lint, external-plugins ]
 
     env:
       PGUSER: peertube
       PGHOST: localhost
-      DISABLE_HTTP_IMPORT_TESTS: true
       NODE_PENDING_JOB_WAIT: 2000
 
     steps:
@@ -54,19 +66,33 @@ jobs:
         with:
           path: |
             **/node_modules
-            ~/fixtures
           key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }}
           restore-keys: |
             ${{ runner.OS }}-node-
             ${{ runner.OS }}-
 
+      - name: Cache fixtures
+        uses: actions/cache@v2
+        with:
+          path: |
+            fixtures
+          key: ${{ runner.OS }}-fixtures-${{ matrix.test_suite }}-${{ hashFiles('fixtures/*') }}
+          restore-keys: |
+            ${{ runner.OS }}-fixtures-${{ matrix.test_suite }}-
+            ${{ runner.OS }}-fixtures-
+            ${{ runner.OS }}-
+
       - name: Install dependencies
         run: yarn install --frozen-lockfile
 
-      - name: Test
-        run: echo $PATH
+      - name: Set env test variable (schedule)
+        if: github.event_name != 'schedule'
+        run: |
+          echo "::set-env name=DISABLE_HTTP_IMPORT_TESTS::true"
 
       - name: Run Test
+        # external-plugins tests only run on schedule
+        if: github.event_name == 'schedule' || matrix.test_suite != 'external-plugins'
         run: NODE_PENDING_JOB_WAIT=2000 npm run ci -- ${{ matrix.test_suite }}
 
       - name: Upload logs