#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
jobs:
  include:
    - language: python
      python: 3.6
      env:
        - TOXENV=fossa
      install:
        - pip install --upgrade pip
        - pip install tox
    - language: python
      python: 3.6
      env:
        - TOXENV=license-check
        - TRAVIS_CACHE=$HOME/.travis_cache/
      addons:
        apt:
          packages:
            - openjdk-8-jdk
      install:
        - pip install --upgrade pip
        - pip install tox
    - language: python
      python: 3.6
      env: TOXENV=cypress-dashboard
      services:
        - redis-server
      before_install:
        - nvm install 10.14.2
    - language: python
      python: 3.6
      env: TOXENV=cypress-explore
      services:
        - redis-server
      before_install:
        - nvm install 10.14.2
    - language: python
      python: 3.6
      env: TOXENV=cypress-sqllab
      services:
        - redis-server
      before_install:
        - nvm install 10.14.2
    - language: python
      python: 3.6
      env: TOXENV=py36-mysql
      services:
        - mysql
        - redis-server
      before_script:
        - mysql -u root -e "DROP DATABASE IF EXISTS superset; CREATE DATABASE superset DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci"
        - mysql -u root -e "CREATE USER 'mysqluser'@'localhost' IDENTIFIED BY 'mysqluserpassword';"
        - mysql -u root -e "GRANT ALL ON superset.* TO 'mysqluser'@'localhost';"
    - language: python
      env: TOXENV=javascript
      before_install:
        - nvm install 10.14.2
    - language: python
      python: 3.6
      env: TOXENV=black
    - language: python
      python: 3.6
      env: TOXENV=isort
    - language: python
      python: 3.6
      env: TOXENV=mypy
    - language: python
      python: 3.6
      env: TOXENV=py36-sqlite
      services:
        - redis-server
    - language: python
      python: 3.6
      env: TOXENV=py36-postgres
      services:
        - postgresql
        - redis-server
      before_script:
        - psql -U postgres -c "CREATE DATABASE superset;"
        - psql -U postgres -c "CREATE USER postgresuser WITH PASSWORD 'pguserpassword';"
    - language: python
      python: 3.6
      env: TOXENV=pylint

script:
  - tox
after_success:
  - codecov
cache:
  pip: true
  directories:
    - ~/.npm
    - ~/.cache
    - ~/.travis_cache/
    - superset/assets/.terser-plugin-cache/
addons:
  apt:
    packages:
      - libgconf-2-4
install:
  - pip install --upgrade pip
  - pip install codecov tox
