version: 1.1.{build}

skip_tags: true

# fetch repository as zip archive
shallow_clone: true

pull_requests:
  do_not_increment_build_number: true

# Do not build feature branch with open Pull Requests
# skip_branch_with_pr: true

# image:
# - Visual Studio 2019
# - Visual Studio 2017
# - Visual Studio 2015

environment:
  global:
    time_out_mins: 5
    flag_to_deploy: false
    appveyor_api_token:
      secure: UJFCbRNHMOqQg3e3Kv/ZnaIqqwXAt+5HDldetaZsZ5E=

matrix:
  fast_finish: true # set this flag to immediately finish build once one of the jobs fails
  # allow_failures:
  #   - platform: x86
  #     configuration: Debug

skip_commits:
  message: /\[chore\]/

only_commits:
  files:
    - projects/
    - src/
    - scripts/**/*.ps1
    - appveyor.yml

for:
-
  branches:
    only:
      - master
  environment:
    matrix:
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
    global:
      job_to_deploy: 6 # 3(images) * 1(platform) * 2(configuration)
-
  branches:
    except:
      - master
  # only_commits:
  #   message: /\[build\]/
  environment:
    matrix:
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
    global:
      job_to_deploy: 6 # 3(images) * 1(platform) * 2(configuration)

configuration:
- Debug
- Release

platform:
- Win32

# cache: packages/

install:
- ps: .\scripts\appveyor\install_coapp.ps1

before_build:
- ps: .\scripts\appveyor\clear_project_configuration.ps1
# - ps: nuget restore projects/Kiwano.sln

build:
  parallel: true
  project: projects/Kiwano.sln
  verbosity: minimal

after_build:
- ps: .\scripts\appveyor\wait_for_other_jobs.ps1

artifacts:
- path: projects/output/**/*.lib
  name: PublishedLibraries
- path: projects/output/**/*.pdb
  name: PublishedSymbols

before_deploy:
- ps: .\scripts\appveyor\coapp_make.ps1

deploy:
- provider: GitHub
  repository: KiwanoEngine/Kiwano
  tag: v$(APPVEYOR_BUILD_VERSION)
  release: v$(APPVEYOR_BUILD_VERSION)
  description: Kiwano-v$(APPVEYOR_BUILD_VERSION) releases.
  auth_token:
    secure: pDsK6i03d4qRjtrNXcbhLpAquso/muJWgDSWJHnxP7b6p54kXEvptB67J+1kJOhq
  artifact: /.*\.nupkg/
  draft: true
  on:
    branch: master
    # APPVEYOR_REPO_TAG: true
    flag_to_deploy: true

- provider: NuGet
  api_key:
    secure: EY1214+kiGlWCnigIhzOkbjRqI+69VjELzgPdWREzWpNyuVK62V0x2ukoZiY8w6T
  # skip_symbols: true
  artifact: /.*\.nupkg/
  on:
    branch: master
    # APPVEYOR_REPO_TAG: true
    flag_to_deploy: true

notifications:
- provider: Email
  to:
  - 569629550@qq.com
  on_build_success: true
  on_build_failure: true
  on_build_status_changed: false