X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=.github%2Fworkflows%2Ftest.yml;h=2288bcd3f699d7be53475b255e753d459ab792d8;hb=3a0c2a77b1a6626699514ddaf8135f4397175443;hp=442317ce2bfcf12f0320b35a112a9cd5781705f6;hpb=2d5a469427641e5ace48ad487bae2f35d9759107;p=github%2FChocobozzz%2FPeerTube.git diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 442317ce2..2288bcd3f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,12 +1,7 @@ -name: Test Suite +name: Test on: push: - branches: - - develop - - master - - ci - - next pull_request: types: [synchronize, opened] schedule: @@ -24,7 +19,7 @@ jobs: - 6379:6379 postgres: - image: postgres:9.6 + image: postgres:10 ports: - 5432:5432 env: @@ -36,45 +31,36 @@ jobs: ports: - 10389:10389 + s3ninja: + image: chocobozzz/s3-ninja + ports: + - 9444:9000 + strategy: fail-fast: false matrix: - test_suite: [ misc, api-1, api-2, api-3, api-4, cli, lint, external-plugins ] + test_suite: [ types-package, client, api-1, api-2, api-3, api-4, api-5, cli-plugin, lint, external-plugins ] env: PGUSER: peertube PGHOST: localhost - NODE_PENDING_JOB_WAIT: 500 + NODE_PENDING_JOB_WAIT: 250 + ENABLE_OBJECT_STORAGE_TESTS: true + OBJECT_STORAGE_SCALEWAY_KEY_ID: ${{ secrets.OBJECT_STORAGE_SCALEWAY_KEY_ID }} + OBJECT_STORAGE_SCALEWAY_ACCESS_KEY: ${{ secrets.OBJECT_STORAGE_SCALEWAY_ACCESS_KEY }} + YOUTUBE_DL_DOWNLOAD_BEARER_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - - name: Use Node.js - uses: actions/setup-node@v1 + - uses: './.github/actions/reusable-prepare-peertube-build' with: - node-version: '12.x' + node-version: '14.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.3.1-64bit-static.tar.xz" - tar xf ffmpeg-release-4.3.1-64bit-static.tar.xz - mkdir -p $HOME/bin - cp ffmpeg-*/{ffmpeg,ffprobe} $HOME/bin - echo "$HOME/bin" >> $GITHUB_PATH - - - name: Cache Node.js modules - uses: actions/cache@v2 - with: - path: | - **/node_modules - key: ${{ runner.OS }}-node-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.OS }}-node- - ${{ runner.OS }}- + - uses: './.github/actions/reusable-prepare-peertube-run' - name: Cache fixtures - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: | fixtures @@ -84,9 +70,6 @@ jobs: ${{ 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: | @@ -94,7 +77,9 @@ jobs: - name: Run Test # external-plugins tests only run on schedule - if: github.event_name == 'schedule' || matrix.test_suite != 'external-plugins' + # if: github.event_name == 'schedule' || matrix.test_suite != 'external-plugins' + env: + AKISMET_KEY: ${{ secrets.AKISMET_KEY }} run: npm run ci -- ${{ matrix.test_suite }} - name: Display errors @@ -102,13 +87,12 @@ jobs: run: | ( \ test -f dist/scripts/parse-log.js && \ - cat *-ci.log | uniq -c && \ NODE_ENV=test node dist/scripts/parse-log.js -l error -f artifacts/*.log \ ) || \ echo "parse-log.js script does not exist, skipping." - name: Upload logs - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: test-storages-${{ matrix.test_suite }}