name: Cypress tests on: push: branches: - master - production-** # This will let us work on cypress config itself - cypress-** pull_request: branches: - master jobs: cypress-run: env: CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # our .npmrc sets a default version to 0, and prevents download. This installs it. CYPRESS_INSTALL_BINARY: '4.6.0' name: Cypress run runs-on: ubuntu-18.04 services: mongodb: image: mongo:3.5.5 # ports may not be necessary, try without ports: - 27017:27017 steps: - name: Checkout uses: actions/checkout@v2 - name: Set up environment run: cp sample.env .env - name: Cypress run uses: cypress-io/github-action@v1 with: record: ${{ env.CYPRESS_RECORD_KEY != 0 }} build: npm run build # this should mirror the production build, but for now we're just using the dev # server and gatsby serve instead (the npm script serve:client needs updating!) start: npm start wait-on: http://localhost:8000 # the site builds in about 8 minutes, so there is currently 12 minutes of time # left for testing. wait-on-timeout: 1200 config: baseUrl=http://localhost:8000