๐Ÿ“ฆ apache / superset

๐Ÿ“„ superset-applitool-cypress.yml ยท 92 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92name: Applitools Cypress

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

jobs:
  config:
    runs-on: ubuntu-24.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

  cypress-applitools:
    needs: config
    if: needs.config.outputs.has-secrets
    runs-on: ubuntu-24.04
    strategy:
      fail-fast: false
      matrix:
        browser: ["chrome"]
    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:16-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@v6
        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@v6
        with:
          node-version-file: './superset-frontend/.nvmrc'
      - 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