trigger:
- master

variables:
  DisplayVersion: $[counter(variables['DisplayPrefix'], 1)]

stages:
- stage: format
  displayName: 'format'
  jobs:
  - job: format
    displayName: 'clang'
    continueOnError: true
    pool:
      vmImage: ubuntu-latest
    steps:
    - template: ./templates/format-check.yml
- stage: build
  dependsOn: format
  displayName: 'build'
  jobs:
  - job: build
    displayName: 'windows-msvc'
    pool:
      vmImage: windows-2019
    steps:
    - template: ./templates/sync-source.yml
      parameters:
        artifactSource: $(parameters.artifactSource)
        needSubmodules: 'true'
    - template: ./templates/build-msvc.yml
      parameters:
        artifactSource: 'false'
        cache: $(parameters.cache)
        version: $(DisplayVersion)
- stage: release
  displayName: 'release'
  dependsOn: build
  jobs:
    - job: release
      displayName: 'source'
      steps:
        - template: ./templates/release-private-tag.yml