# ------------------------------------------------------------------------------
# <auto-generated>
#
#     This code was generated.
#
#     - To turn off auto-generation set:
#
#         [TestAzurePipelines (AutoGenerate = false)]
#
#     - To trigger manual generation invoke:
#
#         nuke --generate-configuration AzurePipelines --host AzurePipelines
#
# </auto-generated>
# ------------------------------------------------------------------------------

variables:
  - group: variable-group-1

trigger:
  batch: true
  branches:
    include:
      - included_branch
    exclude:
      - excluded_branch
  tags:
    include:
      - included_tags
    exclude:
      - excluded_tags
  paths:
    include:
      - included_path
    exclude:
      - excluded_path

stages:
  - stage: ubuntu_18.04
    displayName: 'ubuntu-18.04'
    dependsOn: [  ]
    pool:
      vmImage: 'ubuntu-18.04'
    jobs:
      - job: Restore
        displayName: 'Restore'
        dependsOn: [  ]
        steps:
          - task: CmdLine@2
            inputs:
              script: './build.cmd Restore --skip'
            env:
              AzurePipelinesSystemAccessToken: $(System.AccessToken)
              GitHubToken: $(GitHubToken)
      - job: Compile
        displayName: 'Compile'
        dependsOn: [ Restore ]
        steps:
          - task: CmdLine@2
            inputs:
              script: './build.cmd Compile --skip'
            env:
              AzurePipelinesSystemAccessToken: $(System.AccessToken)
              GitHubToken: $(GitHubToken)
      - job: Test
        displayName: 'Test'
        dependsOn: [ Compile ]
        strategy:
          parallel: 2
        steps:
          - task: CmdLine@2
            inputs:
              script: './build.cmd Test --skip --test-partition $(System.JobPositionInPhase)'
            env:
              AzurePipelinesSystemAccessToken: $(System.AccessToken)
              GitHubToken: $(GitHubToken)
          - task: PublishBuildArtifacts@1
            inputs:
              artifactName: test-results
              pathtoPublish: 'output/test-results'
      - job: Coverage
        displayName: 'Coverage'
        dependsOn: [ Test ]
        steps:
          - task: CmdLine@2
            inputs:
              script: './build.cmd Coverage --skip'
            env:
              AzurePipelinesSystemAccessToken: $(System.AccessToken)
              GitHubToken: $(GitHubToken)
          - task: PublishBuildArtifacts@1
            inputs:
              artifactName: coverage-report.zip
              pathtoPublish: 'output/coverage-report.zip'
  - stage: windows_2019
    displayName: 'windows-2019'
    dependsOn: [  ]
    pool:
      vmImage: 'windows-2019'
    jobs:
      - job: Restore
        displayName: 'Restore'
        dependsOn: [  ]
        steps:
          - task: CmdLine@2
            inputs:
              script: './build.cmd Restore --skip'
            env:
              AzurePipelinesSystemAccessToken: $(System.AccessToken)
              GitHubToken: $(GitHubToken)
      - job: Compile
        displayName: 'Compile'
        dependsOn: [ Restore ]
        steps:
          - task: CmdLine@2
            inputs:
              script: './build.cmd Compile --skip'
            env:
              AzurePipelinesSystemAccessToken: $(System.AccessToken)
              GitHubToken: $(GitHubToken)
      - job: Test
        displayName: 'Test'
        dependsOn: [ Compile ]
        strategy:
          parallel: 2
        steps:
          - task: CmdLine@2
            inputs:
              script: './build.cmd Test --skip --test-partition $(System.JobPositionInPhase)'
            env:
              AzurePipelinesSystemAccessToken: $(System.AccessToken)
              GitHubToken: $(GitHubToken)
          - task: PublishBuildArtifacts@1
            inputs:
              artifactName: test-results
              pathtoPublish: 'output/test-results'
      - job: Coverage
        displayName: 'Coverage'
        dependsOn: [ Test ]
        steps:
          - task: CmdLine@2
            inputs:
              script: './build.cmd Coverage --skip'
            env:
              AzurePipelinesSystemAccessToken: $(System.AccessToken)
              GitHubToken: $(GitHubToken)
          - task: PublishBuildArtifacts@1
            inputs:
              artifactName: coverage-report.zip
              pathtoPublish: 'output/coverage-report.zip'
