name: Compiler Explorer Frontend Testing

on: [push]
jobs:
  cypress-run:
    if: github.repository_owner == 'compiler-explorer'
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        browser: ['chrome']
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Install prerequisites
        run: make prereqs
      - name: Setup Firefox
        uses: browser-actions/setup-firefox@latest
        if: matrix.browser == 'firefox'
      - name: Setup Chrome
        uses: browser-actions/setup-chrome@latest
        if: matrix.browser == 'chrome'
      - name: Cypress run
        uses: cypress-io/github-action@v5
        with:
          start: npm run dev -- --language c++ --noLocal
          wait-on: 'http://localhost:10240'
          wait-on-timeout: 120
          config: screenshotOnRunFailure=true,video=false
          browser: ${{ matrix.browser }}
      - name: Upload screenshots on failure
        uses: actions/upload-artifact@v3
        if: failure()
        with:
          name: cypress-screenshots
          path: cypress/screenshots
