---
language: go
sudo: required
dist: xenial
os:
  - linux
go_import_path: github.com/ncw/rclone
before_install:
  - git fetch --unshallow --tags
  - |
    if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
      sudo modprobe fuse
      sudo chmod 666 /dev/fuse
      sudo chown root:$USER /etc/fuse.conf
    fi
    if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
      brew update
      brew tap caskroom/cask
      brew cask install osxfuse
    fi
    if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
      choco install -y winfsp zip make
      cd ../..                  # fix crlf in git checkout
      mv $TRAVIS_REPO_SLUG _old
      git config --global core.autocrlf false
      git clone _old $TRAVIS_REPO_SLUG
      cd $TRAVIS_REPO_SLUG
    fi
install:
  - make vars
env:
  global:
    - GOTAGS=cmount
    - GO111MODULE=off
    - secure: gU8gCV9R8Kv/Gn0SmCP37edpfIbPoSvsub48GK7qxJdTU628H0KOMiZW/T0gtV5d67XJZ4eKnhJYlxwwxgSgfejO32Rh5GlYEKT/FuVoH0BD72dM1GDFLSrUiUYOdoHvf/BKIFA3dJFT4lk2ASy4Zh7SEoXHG6goBlqUpYx8hVA=
    - secure: AMjrMAksDy3QwqGqnvtUg8FL/GNVgNqTqhntLF9HSU0njHhX6YurGGnfKdD9vNHlajPQOewvmBjwNLcDWGn2WObdvmh9Ohep0EmOjZ63kliaRaSSQueSd8y0idfqMQAxep0SObOYbEDVmQh0RCAE9wOVKRaPgw98XvgqWGDq5Tw=
    - secure: Uaiveq+/rvQjO03GzvQZV2J6pZfedoFuhdXrLVhhHSeP4ZBca0olw7xaqkabUyP3LkVYXMDSX8EbyeuQT1jfEe5wp5sBdfaDtuYW6heFyjiHIIIbVyBfGXon6db4ETBjOaX/Xt8uktrgNge6qFlj+kpnmpFGxf0jmDLw1zgg7tk=
addons:
  apt:
    packages:
      - fuse
      - libfuse-dev
      - rpm
      - pkg-config
cache:
  directories:
    - $HOME/.cache/go-build
matrix:
  allow_failures:
    - go: tip
  include:
    - go: 1.9.x
      script:
        - make quicktest
    - go: 1.10.x
      script:
        - make quicktest
    - go: 1.11.x
      script:
        - make quicktest
    - go: 1.12.x
      env:
        - GOTAGS=cmount
      script:
        - make build_dep
        - make check
        - make quicktest
        - make racequicktest
        - make compile_all
    - os: osx
      go: 1.12.x
      env:
        - GOTAGS=  # cmount doesn't work on osx travis for some reason
      cache:
        directories:
          - $HOME/Library/Caches/go-build
      script:
        - make
        - make quicktest
        - make racequicktest
    # - os: windows
    #   go: 1.12.x
    #   env:
    #     - GOTAGS=cmount
    #     - CPATH='C:\Program Files (x86)\WinFsp\inc\fuse'
    #   #filter_secrets: false     # works around a problem with secrets under windows
    #   cache:
    #     directories:
    #       - ${LocalAppData}/go-build
    #   script:
    #     - make
    #     - make quicktest
    #     - make racequicktest
    - go: tip
      script:
        - make quicktest

deploy:
  provider: script
  script: make travis_beta
  skip_cleanup: true
  on:
    repo: ncw/rclone
    all_branches: true
    go: 1.12.x
    condition: $TRAVIS_PULL_REQUEST == false && $TRAVIS_OS_NAME != "windows"
