language: go
sudo: false

matrix:
  include:
    - os: linux
      go: "1.11.x"
      env: RESTIC_TEST_FUSE=0 RESTIC_TEST_CLOUD_BACKENDS=0
      cache:
        directories:
          - $HOME/.cache/go-build
          - $HOME/gopath/pkg/mod

    - os: linux
      go: "1.12.x"
      env: RESTIC_TEST_FUSE=0 RESTIC_TEST_CLOUD_BACKENDS=0
      cache:
        directories:
          - $HOME/.cache/go-build
          - $HOME/gopath/pkg/mod

    - os: linux
      go: "1.13.x"
      env: RESTIC_TEST_FUSE=0 RESTIC_TEST_CLOUD_BACKENDS=0
      cache:
        directories:
          - $HOME/.cache/go-build
          - $HOME/gopath/pkg/mod

    # only run fuse and cloud backends tests on Travis for the latest Go on Linux
    - os: linux
      go: "1.14.x"
      sudo: true
      cache:
        directories:
          - $HOME/.cache/go-build
          - $HOME/gopath/pkg/mod

    - os: osx
      go: "1.14.x"
      env: RESTIC_TEST_FUSE=0 RESTIC_TEST_CLOUD_BACKENDS=0
      cache:
        directories:
          - $HOME/Library/Caches/go-build
          - $HOME/gopath/pkg/mod

branches:
  only:
    - master

notifications:
  irc:
    channels:
      - "chat.freenode.net#restic"
    on_success: change
    on_failure: change
    skip_join: true

install:
  - go version
  - export GOBIN="$GOPATH/bin"
  - export PATH="$PATH:$GOBIN"
  - go env

script:
  - go run run_integration_tests.go