name: Test Suite
-on: [push, pull_request]
+on:
+ push:
+ branches:
+ - develop
+ - master
+ pull_request:
+ types: [synchronize, opened]
+ schedule:
+ - cron: '0 3 * * 1-5'
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:
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