name: Cypress on: [push] env: CI: 1 # minimal progress output TERM: xterm # good terminal rendering jobs: e2e: name: Cypress tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Cache NPM modules uses: actions/cache@v1 with: path: ~/.npm key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-npm- - name: Cache Cypress binary uses: actions/cache@v1 with: path: ~/.cache/Cypress key: ${{ runner.os }}-cypress-${{ hashFiles('**/package.json') }} restore-keys: | ${{ runner.os }}-cypress- - name: install Cypress run: | npm ci npx cypress verify - name: E2E tests run: npx cypress run # save any error screenshots as test artifacts - uses: actions/upload-artifact@v1 if: failure() with: name: screenshots path: cypress/screenshots # video should always be generated - uses: actions/upload-artifact@v1 with: name: videos path: cypress/videos