name: "Collaboration" # any branch is useful for testing before a PR is submitted on: [push, pull_request] jobs: build: # run on pushes to any branch # run on PRs from external forks if: | (github.event_name != 'pull_request') || (github.event.pull_request.head.repo.id != github.event.pull_request.base.repo.id) name: Test runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: 12 - name: Install all dependencies and symlink for ep_etherpad-lite run: src/bin/installDeps.sh - name: Install XVFB run: sudo apt-get install xvfb - name: Install Cypress run: npm install cypress -g # - name: Create settings.json # run: cp settings.json.template settings.json # - name: Disable import/export rate limiting # run: | # sed -e '/^ *"importExportRateLimiting":/,/^ *\}/ s/"max":.*/"max": 0/' -i settings.json - name: Run Etherpad & Tests run: | node src/node/server.js & # check for initial connectivity curl --connect-timeout 10 --max-time 20 --retry 5 --retry-delay 10 --retry-max-time 60 --retry-connrefused http://127.0.0.1:9001/p/test cd src/tests/frontend # build first xvfb-run -a cypress run --spec cypress/integration/test.js --config-file cypress/cypress.json --config video=false # run collaboration tests xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false & xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false & xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false & xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false & xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false & xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false & xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false & xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false & xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false & xvfb-run -a cypress run --spec cypress/integration/collaborate.js --config-file cypress/cypress.json --config video=false,screenshotsFolder=cypress/screenshots - uses: actions/upload-artifact@v2 if: always() with: name: cypress-videos path: src/tests/frontend/cypress/videos/ - uses: actions/upload-artifact@v2 if: always() with: name: cypress-screenshots path: src/tests/frontend/cypress/screenshots/