# Python Presto/Hive unit tests
name: Python Presto/Hive

on:
  push:
    branches-ignore:
      - "dependabot/npm_and_yarn/**"
  pull_request:

jobs:
  test-postgres-presto:
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        # run unit tests in multiple version just for fun
        python-version: [3.8]
    env:
      PYTHONPATH: ${{ github.workspace }}
      SUPERSET_CONFIG: tests.superset_test_config
      REDIS_PORT: 16379
      SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
      SUPERSET__SQLALCHEMY_EXAMPLES_URI: presto://localhost:15433/memory/default
    services:
      postgres:
        image: postgres:10-alpine
        env:
          POSTGRES_USER: superset
          POSTGRES_PASSWORD: superset
        ports:
          # Use custom ports for services to avoid accidentally connecting to
          # GitHub action runner's default installations
          - 15432:5432
      presto:
        image: prestosql/presto:339
        env:
          POSTGRES_USER: superset
          POSTGRES_PASSWORD: superset
        ports:
          # Use custom ports for services to avoid accidentally connecting to
          # GitHub action runner's default installations
          - 15433:8080
      redis:
        image: redis:5-alpine
        ports:
          - 16379:6379
    steps:
      - uses: actions/checkout@v2
      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install dependencies
        uses: ./.github/actions/cached-dependencies
        with:
          run: |
            apt-get-install
            pip-upgrade
            pip install -r requirements/testing.txt
            setup-postgres
      - name: Run celery
        run: celery worker --app=superset.tasks.celery_app:app -Ofair -c 2 &
      - name: Python unit tests (PostgreSQL)
        run: |
          ./scripts/python_tests.sh
      - name: Upload code coverage
        run: |
          bash <(curl -s https://codecov.io/bash) -cF python

  test-postgres-hive:
    runs-on: ubuntu-18.04
    strategy:
      matrix:
        # run unit tests in multiple version just for fun
        python-version: [3.7, 3.8]
    env:
      PYTHONPATH: ${{ github.workspace }}
      SUPERSET_CONFIG: tests.superset_test_config
      REDIS_PORT: 16379
      SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
      SUPERSET__SQLALCHEMY_EXAMPLES_URI: hive://localhost:10000/default
      UPLOAD_FOLDER: /tmp/.superset/uploads/
    services:
      postgres:
        image: postgres:10-alpine
        env:
          POSTGRES_USER: superset
          POSTGRES_PASSWORD: superset
        ports:
          # Use custom ports for services to avoid accidentally connecting to
          # GitHub action runner's default installations
          - 15432:5432
      redis:
        image: redis:5-alpine
        ports:
          - 16379:6379
    steps:
      - uses: actions/checkout@v2
      - name: Create csv upload directory
        run: sudo mkdir -p /tmp/.superset/uploads
      - name: Give write access to the csv upload directory
        run: sudo chown -R $USER:$USER /tmp/.superset
      - name: Start hadoop and hive
        run: docker-compose -f scripts/databases/hive/docker-compose.yml up -d
      - name: Setup Python
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install dependencies
        uses: ./.github/actions/cached-dependencies
        with:
          run: |
            apt-get-install
            pip-upgrade
            pip install -r requirements/testing.txt
            setup-postgres
      - name: Run celery
        run: celery worker --app=superset.tasks.celery_app:app -Ofair -c 2 &
      - name: Python unit tests (PostgreSQL)
        run: |
          ./scripts/python_tests.sh
      - name: Upload code coverage
        run: |
          bash <(curl -s https://codecov.io/bash) -cF python
