| 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: |
| FLASK_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:14-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@v3 |
| with: |
| persist-credentials: false |
| submodules: recursive |
| ref: master |
| - name: Setup Python |
| uses: actions/setup-python@v4 |
| with: |
| python-version: "3.9" |
| - name: OS dependencies |
| uses: ./.github/actions/cached-dependencies |
| with: |
| run: apt-get-install |
| - name: Install python dependencies |
| uses: ./.github/actions/cached-dependencies |
| with: |
| run: | |
| pip-upgrade |
| pip install -r requirements/testing.txt |
| - name: Setup postgres |
| uses: ./.github/actions/cached-dependencies |
| with: |
| run: setup-postgres |
| - name: Import test data |
| uses: ./.github/actions/cached-dependencies |
| with: |
| run: testdata |
| - name: Setup Node.js |
| uses: actions/setup-node@v3 |
| 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: 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 |