sudo: false
language: d
d:
  - dmd
  - ldc

os:
  - linux
  - osx

branches:
  only:
  - master
  - /^v\d+\.\d+\.\d+([+-]\S*)*$/

env:
  - BUILD=
  - BUILD=dub LIBDPARSE_VERSION=min
  - BUILD=dub LIBDPARSE_VERSION=max

script: ./.travis.sh

jobs:
    include:
        - stage: GitHub Release
          #if: tag IS present
          d: ldc-1.13.0
          os: linux
          script: echo "Deploying to GitHub releases ..." && ./release.sh
          deploy:
            provider: releases
            api_key: $GH_REPO_TOKEN
            file_glob: true
            file: bin/dfmt-*.tar.gz
            skip_cleanup: true
            on:
              repo: dlang-community/dfmt
              tags: true
        - stage: GitHub Release
          #if: tag IS present
          d: ldc-1.13.0
          os: osx
          script: echo "Deploying to GitHub releases ..." && ./release.sh
          deploy:
            provider: releases
            api_key: $GH_REPO_TOKEN
            file_glob: true
            file: bin/dfmt-*.tar.gz
            skip_cleanup: true
            on:
              repo: dlang-community/dfmt
              tags: true
        - stage: GitHub Release
          #if: tag IS present
          d: dmd
          os: linux
          language: generic
          sudo: yes
          script: echo "Deploying to GitHub releases ..." && ./release-windows.sh
          addons:
            apt:
              packages:
                - p7zip-full
          deploy:
            provider: releases
            api_key: $GH_REPO_TOKEN
            file_glob: true
            file: bin/dfmt-*.zip
            skip_cleanup: true
            on:
              repo: dlang-community/dfmt
              tags: true
        - stage: GitHub Release
          #if: tag IS present
          d: dmd
          os: linux
          language: generic
          sudo: yes
          script: echo "Deploying to GitHub releases ..." && ARCH=64 ./release-windows.sh
          addons:
            apt:
              packages:
                - p7zip-full
          deploy:
            provider: releases
            api_key: $GH_REPO_TOKEN
            file_glob: true
            file: bin/dfmt-*.zip
            skip_cleanup: true
            on:
              repo: dlang-community/dfmt
              tags: true
stages:
  - name: test
    if: type = pull_request or (type = push and branch = master)