name: Cypress Component on: - pull_request jobs: cypress-component: name: Cypress component tests runs-on: ubuntu-18.04 steps: - name: Checkout uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: node-version: 14 - uses: actions/cache@v2 id: cypress-node-modules-cache-2 with: path: | **/node_modules ~/.cache/Cypress key: ${{ runner.os }}-cypress-node-modules-2-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-cypress-node-modules-2 - name: Yarn install deps if: steps.cypress-node-modules-cache-2.outputs.cache-hit != 'true' run: | yarn install --frozen-lockfile yarn add cypress@6.7.0 cypress-terminal-report@2.1.0 @cypress/react@4.16.4 @cypress/webpack-preprocessor@5.7.0 - name: Yarn build env: GENERATE_SOURCEMAP: 'false' run: | yarn build - name: Cypress run uses: cypress-io/github-action@v2 with: config-file: cypress.json record: true parallel: true group: 'PostHog Component' # We're already installing cypress above # We have to install it separately otherwise the tests fail. install: false # We already install cypress separately, we don't need to install it again here install-command: echo "no" env: # pass the Dashboard record key as an environment variable CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} # Recommended: pass the GitHub token lets this action correctly # determine the unique run id necessary to re-run the checks GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Archive test screenshots uses: actions/upload-artifact@v1 with: name: screenshots path: cypress/screenshots if: ${{ failure() }}