name: "Test Website"

on:
  push:
    branches: [main]
    paths:
      - "website/**"
      - ".github/workflows/test-website.yml"
  pull_request:
    branches: [main]
    paths:
      - "website/**"
      - ".github/workflows/test-website.yml"

jobs:
  test-website:
    name: "Test Website"
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Cypress run
        uses: cypress-io/github-action@v2
        env:
          REACT_APP_CLIENT_ID: 123
          REACT_APP_CLIENT_SECRET: 123
          REACT_APP_DAGGER_SITE_URI: https://dagger.io
          REACT_APP_API_PROXY_ENABLE: false
          REACT_APP_AMPLITUDE_ID: 123
        with:
          config: chromeWebSecurity=false
          install-command: yarn install --silent
          start: |
            yarn start
          working-directory: ./website
      - uses: actions/upload-artifact@v1
        if: failure()
        with:
          name: cypress-screenshots
          path: website/cypress/screenshots
      # Test run video was always captured, so this action uses "always()" condition
      - uses: actions/upload-artifact@v1
        if: always()
        with:
          name: cypress-videos
          path: website/cypress/videos
