parameters:
  - name: targets
    type: object
    default:
      - name: linux
        image: ubuntu-latest
      - name: windows
        image: windows-latest
  - name: runIntegration
    type: boolean
    default: false
  - name: verbosity
    type: string
    default: normal
    values:
      - quiet
      - normal
      - detailed

extends:
  template: templates/base-pipeline.yml
  parameters:
    verbosity: ${{ parameters.verbosity }}

jobs:
  - ${{ each target in parameters.targets }}:
      - job: build_${{ target.name }}
        pool:
          vmImage: ${{ target.image }}
        steps:
          - template: templates/steps-build.yml
            parameters:
              platform: ${{ target.name }}
          - ${{ if eq(parameters.runIntegration, true) }}:
              - script: make integration
                displayName: Integration tests
