12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- name: Test Suite
- on:
- push:
- pull_request:
- schedule:
- - cron: '0 0 * * 1-5'
- jobs:
- test:
- runs-on: ubuntu-latest
- services:
- redis:
- image: redis
- ports:
- - 6379:6379
- postgres:
- image: postgres:9.6
- ports:
- - 5432:5432
- env:
- 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, external-plugins ]
- env:
- PGUSER: peertube
- PGHOST: localhost
- NODE_PENDING_JOB_WAIT: 2000
- steps:
- - uses: actions/checkout@v2
- - name: Use Node.js
- uses: actions/setup-node@v1
- with:
- node-version: '12.x'
- - name: Setup system dependencies
- run: |
- sudo apt-get install postgresql-client-common redis-tools parallel
- wget --quiet --no-check-certificate "https://download.cpy.re/ffmpeg/ffmpeg-release-4.0.3-64bit-static.tar.xz"
- tar xf ffmpeg-release-4.0.3-64bit-static.tar.xz
- mkdir -p $HOME/bin
- cp ffmpeg-*/{ffmpeg,ffprobe} $HOME/bin
- echo "::add-path::$HOME/bin"
- - name: Cache Node.js modules
- uses: actions/cache@v2
- with:
- path: |
- **/node_modules
- ~/fixtures
- key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }}
- restore-keys: |
- ${{ runner.OS }}-node-
- ${{ 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"
- echo "::set-env name=DISABLE_EXTERNAL_PLUGINS_TESTS::true"
- - name: Run Test
- run: NODE_PENDING_JOB_WAIT=2000 npm run ci -- ${{ matrix.test_suite }}
- - name: Upload logs
- uses: actions/upload-artifact@v2
- if: failure()
- with:
- name: test-storages-${{ matrix.test_suite }}
- path: test*/logs
|