sudo: required

dist: bionic

services:
  - docker

before_install:
  - if [[ "$BUILD" != "development" ]]; then
    echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin;
    sudo apt-get update && sudo apt-get -y install git;
    fi
  - if [[ $BUILD == "development" ]];then
    sudo apt-get update && sudo apt-get -y install docker-compose;
    fi
  - chmod u+x ./travis.py

after_success:
  - docker --version

jobs:
  include:
    - stage: "Build Frappe bench development environment (latest)"
      if: branch = develop AND type != pull_request
      script:
        - docker build -t frappe/bench:latest -f build/bench/Dockerfile .
        - docker push frappe/bench:latest
    - stage: "Frappe (edge)"
      if: branch = develop AND type != pull_request
      script:
        - ./travis.py frappe --worker --tag edge
        - ./travis.py frappe --worker --tag develop --tag-only
    - stage: "Frappe (edge)"
      if: branch = develop AND type != pull_request
      script:
        - ./travis.py frappe --nginx --tag edge
        - ./travis.py frappe --nginx --tag develop --tag-only
    - stage: "Frappe (edge)"
      if: branch = develop AND type != pull_request
      script:
        - ./travis.py frappe --socketio --tag edge
        - ./travis.py frappe --socketio --tag develop --tag-only
    - stage: "ERPNext (edge)"
      if: branch = develop AND type != pull_request
      script:
        - ./travis.py erpnext --worker --tag edge
        - ./travis.py erpnext --worker --tag develop --tag-only
    - stage: "ERPNext (edge)"
      if: branch = develop AND type != pull_request
      script:
        - ./travis.py erpnext --nginx --tag edge
        - ./travis.py erpnext --nginx --tag develop --tag-only
    - stage: "Frappe (v12)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py frappe --worker --git-version 12
        - ./travis.py frappe --worker --tag v12 --tag-only
        - ./travis.py frappe --worker --tag version-12 --tag-only
    - stage: "Frappe (v12)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py frappe --nginx --git-version 12
        - ./travis.py frappe --nginx --tag v12 --tag-only
        - ./travis.py frappe --nginx --tag version-12 --tag-only
    - stage: "Frappe (v12)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py frappe --socketio --git-version 12
        - ./travis.py frappe --socketio --tag v12 --tag-only
        - ./travis.py frappe --socketio --tag version-12 --tag-only
    - stage: "ERPNext (v12)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py erpnext --worker --git-version 12
        - ./travis.py erpnext --worker --tag v12 --tag-only
        - ./travis.py erpnext --worker --tag version-12 --tag-only
    - stage: "ERPNext (v12)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py erpnext --nginx --git-version 12
        - ./travis.py erpnext --nginx --tag v12 --tag-only
        - ./travis.py erpnext --nginx --tag version-12 --tag-only
    - stage: "Frappe (v11)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py frappe --worker --git-version 11
        - ./travis.py frappe --worker --tag v11 --tag-only
        - ./travis.py frappe  --worker --tag version-11 --tag-only
    - stage: "Frappe (v11)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py frappe --nginx --git-version 11
        - ./travis.py frappe --nginx --tag v11 --tag-only
        - ./travis.py frappe --nginx --tag version-11 --tag-only
    - stage: "Frappe (v11)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py frappe --socketio --git-version 11
        - ./travis.py frappe --socketio --tag v11 --tag-only
        - ./travis.py frappe --socketio --tag version-11 --tag-only
    - stage: "ERPNext (v11)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py erpnext --worker --git-version 11
        - ./travis.py erpnext --worker --tag v11 --tag-only
        - ./travis.py erpnext --worker --tag version-11 --tag-only
    - stage: "ERPNext (v11)"
      if: branch = master AND type != pull_request
      script:
        - ./travis.py erpnext --nginx --git-version 11
        - ./travis.py erpnext --nginx --tag v11 --tag-only
        - ./travis.py erpnext --nginx --tag version-11 --tag-only