os: linux
services: docker
language: minimal
install: skip
addons:
  apt:
    packages:
    - docker-ce
    - pass
env:
  global:
  - USE_DOCKER="true"
stages:
  - lint
  - test
  - release
cache:
  directories:
    - lib/rice-box.go
jobs:
  include:
  - stage: lint
    script: "./build/run_gometalinter.sh"
  - stage: test
    script: "./build/build_all.sh"
    deploy:
      provider: script
      skip_cleanup: true
      script: docker build -t filebrowser/filebrowser . && ./build/docker_login.sh && docker push filebrowser/filebrowser && docker logout
      on:
        tags: false
        repo: filebrowser/filebrowser
        branch: master
  - stage: release
    script:
      - docker run --rm -itv $(pwd):/go/src/github.com/filebrowser/filebrowser -v /var/run/docker.sock:/var/run/docker.sock filebrowser/dev goreleaser
      - ./build/push_images.sh
      - ./build/push_ricebox.sh
    if: tag IS present
    deploy:
      provider: releases
      skip_cleanup: true
      api_key:
        secure: GCURbl9xmjOmeNc7cYSvfSwbEp46cacWmJRczcsU6rQa0aWqzjELYdyIsl6HWW+o0dzuZvbWRD6muxYqIud92oPLYDuXSnra9tM3mCjswrjiPCJ57bksWkSPBfFQcxIyB6c3o+A/FMnX3nnSE/2r5HYZnPNFbEcBbC7WSgwx9ejXUuyWn1PUFK9YQWANdl6J7b7EKsk+9MxS9Pmw6M2ycBwX8ScUQdofkUPvR/nqlXISm+3hs30VubqQi9Ha6DM9Bw3aFK3/Ts/ujCOxP1ZoMCBZ6tfnaQOElIG96WTwnt77eDYlZezBOLym3Z18iif+Qny+XndFKDbexaiUT06VlWFXCKtt3iLs6HJwRcjmiHmB0Z3v+W4cKPl3cEyxxrU2aal54k1PBhU+5L0Xc8ileKbDMYg5tps88zWHNefeZVfaxYSVrmUHkuygMe481oaBLacDXTxs4t6XEpStREuLmvx9NLTwTFAbWjMNM0PqlueDMxO4bdwNvzXg/TcKLWV9FezqAlre8lFNZK5wX6lKFVSZ3hFjxCfwrJL2cPwg5A8Yd5EOC4Nh81WdgYuFGOxZzMAoSJlaVRvQS1trCUP/++ONnDep3ExSxvw4B7vijGZWeXUhrOMiPQHXu+t6BnrlnDjQ4gi44QTW0y/iM2WC2DBKfgYjAKwyHx13hFrmOCg=
      file: "dist/*.*"
      file_glob: true
      on:
        repo: filebrowser/filebrowser
        all_branches: true
        tags: true