name: Applitools Storybook

on:
  schedule:
    - cron: "0 0 * * *"

env:
  APPLITOOLS_APP_NAME: Superset
  APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }}
  APPLITOOLS_BATCH_ID: ${{ github.sha }}
  APPLITOOLS_BATCH_NAME: Superset Storybook

jobs:
  config:
    runs-on: "ubuntu-22.04"
    outputs:
      has-secrets: ${{ steps.check.outputs.has-secrets }}
    steps:
      - name: "Check for secrets"
        id: check
        shell: bash
        run: |
          if [ -n "${{ (secrets.APPLITOOLS_API_KEY != '' && secrets.APPLITOOLS_API_KEY != '') || '' }}" ]; then
            echo "has-secrets=1" >> "$GITHUB_OUTPUT"
          fi

  cron:
    needs: config
    if: needs.config.outputs.has-secrets
    runs-on: ubuntu-22.04
    strategy:
      matrix:
        node: [18]
    steps:
      - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
        uses: actions/checkout@v4
        with:
          persist-credentials: false
          submodules: recursive
          ref: master
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node }}
      - name: Install eyes-storybook dependencies
        uses: ./.github/actions/cached-dependencies
        with:
          run: eyes-storybook-dependencies
      - name: Install NPM dependencies
        uses: ./.github/actions/cached-dependencies
        with:
          run: npm-install
      - name: Run Applitools Eyes-Storybook
        working-directory: ./superset-frontend
        run: npx eyes-storybook -u https://superset-storybook.netlify.app/
