name: $(Date:yyyyMMdd)$(Rev:.r)

variables:
  - name: TestProjects
    value: "tests/**/*Tests.csproj"
  - name: RestoreBuildProjects
    value: "Jellyfin.Server/Jellyfin.Server.csproj"
  - name: DotNetSdkVersion
    value: 3.1.100

pr:
  autoCancel: true

trigger:
  batch: true

jobs:
  - template: azure-pipelines-main.yml
    parameters:
      LinuxImage: "ubuntu-latest"
      RestoreBuildProjects: $(RestoreBuildProjects)

  - template: azure-pipelines-test.yml
    parameters:
      ImageNames:
        Linux: "ubuntu-latest"
        Windows: "windows-latest"
        macOS: "macos-latest"

  - template: azure-pipelines-windows.yml
    parameters:
      WindowsImage: "windows-latest"
      TestProjects: $(TestProjects)

  - template: azure-pipelines-compat.yml
    parameters:
      Packages:
        Naming:
          NugetPackageName: Jellyfin.Naming
          AssemblyFileName: Emby.Naming.dll
        Controller:
          NugetPackageName: Jellyfin.Controller
          AssemblyFileName: MediaBrowser.Controller.dll
        Model:
          NugetPackageName: Jellyfin.Model
          AssemblyFileName: MediaBrowser.Model.dll
        Common:
          NugetPackageName: Jellyfin.Common
          AssemblyFileName: MediaBrowser.Common.dll
      LinuxImage: "ubuntu-latest"
