---
version: 2

jobs:

  build:
    machine: true

    working_directory: ~/.go_workspace/src/github.com/rclone/rclone

    steps:
    - checkout

    - run:
        name: Cross-compile rclone
        command: |
            docker pull rclone/xgo-cgofuse
            go get -v github.com/karalabe/xgo
            xgo \
                --image=rclone/xgo-cgofuse \
                --targets=darwin/386,darwin/amd64,linux/386,linux/amd64,windows/386,windows/amd64 \
                -tags cmount \
                .
            xgo \
                --targets=android/*,ios/* \
                .

    - run:
        name: Prepare artifacts
        command: |
            mkdir -p /tmp/rclone.dist
            cp -R rclone-* /tmp/rclone.dist
            mkdir build
            cp -R rclone-* build/

    - run:
        name: Build rclone
        command: |
            go version
            go build

    - run:
        name: Upload artifacts
        command: |
          if [[ $CIRCLE_PULL_REQUEST != "" ]]; then
              make circleci_upload
          fi

    - store_artifacts:
        path: /tmp/rclone.dist
