version: '{build}'

platform:
  - x86

pull_requests:
  do_not_increment_build_number: true

branches:
  only:
  - master
  - ci-test
  - stable

test: off

# We deploy via grunt publish-nylas-build instead of AppVeyor
deploy: off

# We need to only clone the main module because our submodule requires the
# encrypted ssh key to access submodules
clone_depth: 1
build:
  verbosity: minimal
install:
- ps: Install-Product node $env:NODE_VERSION $env:PLATFORM
- ps: nuget install secure-file -ExcludeVersion

# We need to extract the encrypted private ssh key to clone the submodule.
- ps: |
    if ($env:DECRYPTION_PASSWORD) {
      secure-file\tools\secure-file -decrypt build\resources\ssh\nylas-n1-ci-ssh-secure-file.enc -secret $env:DECRYPTION_PASSWORD
      mv -Force build\resources\ssh\nylas-n1-ci-ssh-secure-file c:\users\appveyor\.ssh\id_rsa
      git submodule init

      # http://stackoverflow.com/questions/21002919/running-a-remote-powershell-script-with-a-git-command-in-it-results-in-nativecom
      Start-Process -FilePath git.exe -ArgumentList 'submodule update'  -Wait -NoNewWindow

      secure-file\tools\secure-file -decrypt src\pro\encrypted_certificates\appveyor\win-nylas-n1.p12.enc -secret $env:DECRYPTION_PASSWORD
      secure-file\tools\secure-file -decrypt src\pro\encrypted_certificates\appveyor\set_win_env.ps1.enc -secret $env:DECRYPTION_PASSWORD
      . src\pro\encrypted_certificates\appveyor\set_win_env.ps1
    }

build_script:
- ps: .\script\cibuild.ps1

environment:
  matrix:
  - NODE_VERSION: 0.12
    PUBLISH_BUILD: true
  global:
    CERTIFICATE_FILE: .\src\pro\encrypted_certificates\appveyor\win-nylas-n1.p12
    DECRYPTION_PASSWORD:
      secure: 48VSzDtdBd52Xlo3TZ1NeR1yRRrZ3AU6Px5XjD5RDp44cFU5GYVspecGqX6DGCV7i0D7nldGMyEbXNrjM1t1Kw==

cache:
  - '%USERPROFILE%\.nylas\.apm'
  - '%USERPROFILE%\.npm'