name: $(date:yyyyMMdd)$(rev:-rr)

resources:
  repositories:
    - repository: templates
      endpoint: GitHub
      type: github
      name: wieslawsoltes/BuildTemplates
      ref: refs/tags/v1.0.0

variables:
  BuildConfiguration: 'Release'
  BuildPlatform: 'Any CPU'
  NetCoreSDK: '5.0.400'
  PublishFramework: 'net5.0'
  PublishProject: 'AvaloniaDemo'
  PublishRuntime: ''

jobs:
  - template: Test-PowerShell.yml@templates
    parameters:
      name: 'Test_Windows'
      vmImage: 'windows-2022'
      BuildConfiguration: ${{ variables.BuildConfiguration }}

  - template: Test-Bash.yml@templates
    parameters:
      name: 'Test_Linux'
      vmImage: 'ubuntu-20.04'
      BuildConfiguration: ${{ variables.BuildConfiguration }}

  - template: Test-Bash.yml@templates
    parameters:
      name: 'Test_macOS'
      vmImage: 'macOS-11'
      BuildConfiguration: ${{ variables.BuildConfiguration }}

  - template: Pack-MyGet.yml@templates
    parameters:
      name: 'Pack_MyGet'
      vmImage: 'windows-2022'
      BuildConfiguration: ${{ variables.BuildConfiguration }}

  - template: Pack-NuGet.yml@templates
    parameters:
      name: 'Pack_NuGet'
      vmImage: 'windows-2022'
      BuildConfiguration: ${{ variables.BuildConfiguration }}

  - template: Publish-PowerShell.yml@templates
    parameters:
      name: 'Publish_Windows'
      vmImage: 'windows-2022'
      BuildConfiguration: ${{ variables.BuildConfiguration }}
      PublishFramework: ${{ variables.PublishFramework }}
      PublishProject: ${{ variables.PublishProject }}
      PublishRuntime: 'win7-x64'

  - template: Publish-Bash.yml@templates
    parameters:
      name: 'Publish_Ubuntu'
      vmImage: 'ubuntu-20.04'
      BuildConfiguration: ${{ variables.BuildConfiguration }}
      PublishFramework: ${{ variables.PublishFramework }}
      PublishProject: ${{ variables.PublishProject }}
      PublishRuntime: 'ubuntu.14.04-x64'

  - template: Publish-Bash.yml@templates
    parameters:
      name: 'Publish_Debian'
      vmImage: 'ubuntu-20.04'
      BuildConfiguration: ${{ variables.BuildConfiguration }}
      PublishFramework: ${{ variables.PublishFramework }}
      PublishProject: ${{ variables.PublishProject }}
      PublishRuntime: 'debian.8-x64'

  - template: Publish-Bash.yml@templates
    parameters:
      name: 'Publish_macOS'
      vmImage: 'macOS-11'
      BuildConfiguration: ${{ variables.BuildConfiguration }}
      PublishFramework: ${{ variables.PublishFramework }}
      PublishProject: ${{ variables.PublishProject }}
      PublishRuntime: 'osx.10.12-x64'

Set up CI with Azure Pipelines
Set up CI with Azure Pipelines

[skip ci]