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