image: Visual Studio 2017

skip_branch_with_pr: true

environment:
  GIT_LFS_NO_TEST_COUNT: 1
  GIT_LFS_LOCK_ACQUIRE_DISABLED: 1
  GOPATH: C:\Users\appveyor\go
  MSYSTEM: MINGW64

clone_folder: $(USERPROFILE)\src\git-lfs

install:
  - rd C:\Go /s /q
  - rd C:\Perl /s /q
  - refreshenv
  - curl -sL -o go1.11.1.windows-amd64.zip https://storage.googleapis.com/golang/go1.11.1.windows-amd64.zip
  - 7z x go1.11.1.windows-amd64.zip -oC:\ >nul
  - C:\go\bin\go version
  - cd %USERPROFILE%\src
  - C:\go\bin\go get github.com/josephspurrier/goversioninfo/cmd/goversioninfo
  - cd %USERPROFILE%\src\git-lfs
  - cinst InnoSetup -y
  - cinst strawberryperl -y
  - refreshenv
  - cinst make
  - refreshenv
  - set PATH=%GOPATH%\bin;%PATH%
  - ps: |
      echo "Go directories in machine PATH environment:"
      [environment]::GetEnvironmentVariable("PATH","Machine").split(";") | Select-String -Pattern "\\go\\"
      echo "Go directories in user PATH environment:"
      [environment]::GetEnvironmentVariable("PATH","User").split(";") | Select-String -Pattern "\\go\\"
      echo "Go directories in process PATH environment:"
      [environment]::GetEnvironmentVariable("PATH","Process").split(";") | Select-String -Pattern "\\go\\"
      echo "Go version information:"
      go version

build_script:
  - bash --login -c 'make GOARCH=386 -B'
  - mv bin\git-lfs.exe git-lfs-x86.exe
  - bash --login -c 'make GOARCH=amd64 -B'
  - mv bin\git-lfs.exe git-lfs-x64.exe

after_build:
  - iscc script\windows-installer\inno-setup-git-lfs-installer.iss

test_script:
  - bash --login script/cibuild

artifacts:
  - path: git-lfs-x86.exe
  - path: git-lfs-x64.exe
  - path: git-lfs-windows-*.exe
