| name: E2E |
| |
| on: |
| push: |
| branches-ignore: |
| - "dependabot/**/docs/**" |
| paths-ignore: |
| - "docs/**" |
| pull_request: |
| |
| jobs: |
| Cypress: |
| runs-on: ubuntu-18.04 |
| strategy: |
| matrix: |
| browser: ["chrome"] |
| env: |
| FLASK_ENV: development |
| ENABLE_REACT_CRUD_VIEWS: true |
| SUPERSET_CONFIG: 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: ${{ secrets.GITHUB_TOKEN }} |
| services: |
| postgres: |
| image: postgres:10-alpine |
| env: |
| POSTGRES_USER: superset |
| POSTGRES_PASSWORD: superset |
| ports: |
| - 15432:5432 |
| redis: |
| image: redis:5-alpine |
| ports: |
| - 16379:6379 |
| steps: |
| - name: Checkout code (push) |
| if: github.event_name == 'push' |
| uses: actions/checkout@v2 |
| - name: Checkout code (pull_request) |
| if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target' |
| uses: actions/checkout@v2 |
| with: |
| ref: "refs/pull/${{ github.event.number }}/merge" |
| - name: Setup Python |
| uses: actions/setup-python@v2 |
| with: |
| python-version: "3.7" |
| - 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: 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 }} |
| CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} |
| with: |
| run: cypress-run-all |
| - name: Upload Artifacts |
| uses: actions/upload-artifact@v2 |
| if: failure() |
| with: |
| name: screenshots |
| path: ${{ github.workspace }}/superset-frontend/cypress-base/cypress/screenshots |