# version format
version: "{build}"

# Operating system (build VM template)
os: Windows Server 2012 R2

# Platform.
platform: x64

clone_folder: c:\gopath\src\github.com\minio\minio

# Environment variables
environment:
  GOPATH: c:\gopath
  GOROOT: c:\go18

# scripts that run after cloning repository
install:
  - set PATH=%GOPATH%\bin;%GOROOT%\bin;%PATH%
  - go version
  - go env
  - python --version

# To run your custom scripts instead of automatic MSBuild
build_script:
  # Compile
  # We need to disable firewall - https://github.com/appveyor/ci/issues/1579#issuecomment-309830648
  - ps: Disable-NetFirewallRule -DisplayName 'File and Printer Sharing (SMB-Out)'
  - appveyor AddCompilationMessage "Starting Compile"
  - cd c:\gopath\src\github.com\minio\minio
  - go run buildscripts/gen-ldflags.go > temp.txt
  - set /p BUILD_LDFLAGS=<temp.txt
  - go build -ldflags="%BUILD_LDFLAGS%" -o %GOPATH%\bin\minio.exe
  - appveyor AddCompilationMessage "Compile Success"

# To run your custom scripts instead of automatic tests
test_script:
  # Unit tests
  - ps: Add-AppveyorTest "Unit Tests" -Outcome Running
  - mkdir build\coverage
  - go test -v -timeout 17m -race github.com/minio/minio/cmd...
  - go test -v -race github.com/minio/minio/pkg...
  - go test -v -timeout 17m -coverprofile=build\coverage\coverage.txt -covermode=atomic github.com/minio/minio/cmd
  - ps: Update-AppveyorTest "Unit Tests" -Outcome Passed

after_test:
  - go tool cover -html=build\coverage\coverage.txt -o build\coverage\coverage.html
  - ps: Push-AppveyorArtifact build\coverage\coverage.txt
  - ps: Push-AppveyorArtifact build\coverage\coverage.html
  # Upload coverage report.
  - "SET PATH=C:\\Python34;C:\\Python34\\Scripts;%PATH%"
  - pip install codecov
  - codecov -X gcov -f "build\coverage\coverage.txt"

# to disable deployment
deploy: off