variables:
    registryEndpoint: eshop-registry
trigger:
  branches:
    include:
    - master
    - dev
  paths:
    include:
    - src/BuildingBlocks/*
    - src/Services/Catalog/*
    - k8s/helm/catalog-api/*    
jobs:
- job: BuildLinux
  pool:
    vmImage: 'ubuntu-16.04'
  steps:
  - task: DockerCompose@0
    displayName: Compose build catalog
    inputs:
      dockerComposeCommand: 'build catalog.api'
      containerregistrytype: Container Registry
      dockerRegistryEndpoint: $(registryEndpoint)
      dockerComposeFile: docker-compose.yml
      qualifyImageNames: true
      projectName: ""
      dockerComposeFileArgs: |
        TAG=$(Build.SourceBranchName)
  - task: DockerCompose@0
    displayName: Compose push catalog
    inputs:
      dockerComposeCommand: 'push catalog.api'
      containerregistrytype: Container Registry
      dockerRegistryEndpoint: $(registryEndpoint)
      dockerComposeFile: docker-compose.yml
      qualifyImageNames: true
      projectName: ""
      dockerComposeFileArgs: |
        TAG=$(Build.SourceBranchName)
  - task: CopyFiles@2
    inputs:
      sourceFolder: $(Build.SourcesDirectory)/k8s/helm    
      targetFolder: $(Build.ArtifactStagingDirectory)/k8s/helm
  - task: PublishBuildArtifacts@1
    inputs:
      pathtoPublish: $(Build.ArtifactStagingDirectory)/k8s/helm
      artifactName: helm
- job: BuildWindow
  pool:
    vmImage: 'windows-2019'
  steps:
  - task: DockerCompose@0
    displayName: Compose build catalog
    inputs:
      dockerComposeCommand: 'build catalog.api'
      containerregistrytype: Container Registry
      dockerRegistryEndpoint: $(registryEndpoint)
      dockerComposeFile: docker-compose.yml
      qualifyImageNames: true
      projectName: ""
      dockerComposeFileArgs: |
        TAG=$(Build.SourceBranchName)
        PLATFORM=win
  - task: DockerCompose@0
    displayName: Compose push catalog
    inputs:
      dockerComposeCommand: 'push catalog.api'
      containerregistrytype: Container Registry
      dockerRegistryEndpoint: $(registryEndpoint)
      dockerComposeFile: docker-compose.yml
      qualifyImageNames: true
      projectName: ""
      dockerComposeFileArgs: |
        TAG=$(Build.SourceBranchName)
        PLATFORM=win
- template: ../multiarch.yaml
  parameters:
    image: catalog.api
    branch: $(Build.SourceBranchName)
    registryEndpoint: $(registryEndpoint)