name: Applitools Cypress on: schedule: - cron: "0 1 * * *" jobs: config: runs-on: "ubuntu-latest" 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 cypress-applitools: needs: config if: needs.config.outputs.has-secrets runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: browser: ["chrome"] node: [16] env: SUPERSET_ENV: development SUPERSET_CONFIG: tests.integration_tests.superset_test_config SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset PYTHONPATH: ${{ github.workspace }} REDIS_PORT: 16379 GITHUB_TOKEN: ${{ github.token }} APPLITOOLS_APP_NAME: Superset APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }} APPLITOOLS_BATCH_ID: ${{ github.sha }} APPLITOOLS_BATCH_NAME: Superset Cypress services: postgres: image: postgres:15-alpine env: POSTGRES_USER: superset POSTGRES_PASSWORD: superset ports: - 15432:5432 redis: image: redis:7-alpine ports: - 16379:6379 steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" uses: actions/checkout@v4 with: persist-credentials: false submodules: recursive ref: master - name: Setup Python uses: ./.github/actions/setup-backend/ - name: Import test data uses: ./.github/actions/cached-dependencies with: run: testdata - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - name: Install npm dependencies uses: ./.github/actions/cached-dependencies with: run: npm-install - name: Build javascript packages uses: ./.github/actions/cached-dependencies with: run: build-instrumented-assets - name: Setup Postgres if: steps.check.outcome == 'failure' uses: ./.github/actions/cached-dependencies with: run: setup-postgres - name: Install cypress uses: ./.github/actions/cached-dependencies with: run: cypress-install - name: Run Cypress uses: ./.github/actions/cached-dependencies env: CYPRESS_BROWSER: ${{ matrix.browser }} with: run: cypress-run-applitools