os: Windows Server 2012 R2
platform:
  - x64


# Use this to preseve the build VM after the build finishes.
# Note that the appveyor builds will appear to hang; check the build log for details.
# https://www.appveyor.com/docs/how-to/rdp-to-build-worker/
# on_finish:
#   - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

environment:
  matrix:
    - name: unit-tests-ruby-2.4.4
      ruby_version: "24"
    - name: unit-tests-ruby-2.5.1
      ruby_version: "25"
    - name: functional-tests-1
      ruby_version: "25"
    - name: functional-tests-2
      ruby_version: "25"
    - name: functional-tests-3
      ruby_version: "25"
clone_folder: c:\projects\inspec
clone_depth: 1

skip_commits:
  # version bumps by Expeditor happen as a separate commit after the merge, we can skip
  author: Chef Expeditor
  # if ONLY the files listed below are changed in a commit, skip
  #
  # Update jq: Currently this does not as expected and is blocking any builds that have any
  # files matching the paths below.
  #
  # files:
  #   - '*.md'
  #   - docs/**/*
  #   - examples/**/*
  #   - MAINTAINERS.toml

skip_tags: true
branches:
  only:
    - master

cache:
  - vendor/bundle -> appveyor.yml

install:
  - systeminfo
  - winrm quickconfig -q
  - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
  - echo %PATH%
  - ruby --version
  - gem --version
  - bundler --version
  - ruby -r rubygems -e "p Gem.path"

build_script:
  - bundle install --path=vendor/bundle --without integration tools maintenance deploy
  - if not exist C:\tmp mkdir C:\tmp

test_script:
  - SET SPEC_OPTS=--format progress
  - bundle exec rake

for:
  -
    matrix:
      only:
        - name: functional-tests-1
    test_script:
      - SET SPEC_OPTS=--format progress
      - SET WORKER_NUMBER=1
      - bundle exec rake test:functional:windows
  -
    matrix:
      only:
        - name: functional-tests-2
    test_script:
      - SET SPEC_OPTS=--format progress
      - SET WORKER_NUMBER=2
      - bundle exec rake test:functional:windows
  -
    matrix:
      only:
        - name: functional-tests-3
    test_script:
      - SET SPEC_OPTS=--format progress
      - SET WORKER_NUMBER=3
      - bundle exec rake test:functional:windows