Files @ r23447:3bb8e6d9f279
Branch filter:

Location: cpp/openttd-patchpack/source/azure-pipelines/templates/linux-build.yml

glx22
Fix: [AzurePipelines] Run commit checker only for PRs and pass it the target branch (#7356)
parameters:
  Image: ''
  Tag: ''
  ContainerCommand: ''

steps:
# 'envVars' in the 'Docker@1' task is a bit funky. When you want to use a
# variable, you have to quote it. But the quote is also sent directly to
# Docker and ends up in the variable, which you don't want. To work around
# this, we set the correct variable first (which becomes an env-variable), and
# pass that env-variable through to Docker. We cannot use the normal
# 'variables' entry, as we are a template. So that results in this bit of
# Bash code. Not because it is pretty, but it is the only way we found that
# works.
- bash: |
    echo "##vso[task.setvariable variable=TARGET_BRANCH]${SYSTEM_PULLREQUEST_TARGETBRANCH}"
    echo "Target branch is ${SYSTEM_PULLREQUEST_TARGETBRANCH}"
  displayName: "Set target branch"
  condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))

- task: Docker@1
  ${{ if eq(parameters.Image, 'compile-farm') }}:
    displayName: 'Build'
  ${{ if eq(parameters.Image, 'compile-farm-ci') }}:
    displayName: 'Build and test'
  ${{ if eq(parameters.Tag, 'commit-checker') }}:
    condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))
  inputs:
    command: 'Run an image'
    imageName: openttd/${{ parameters.Image }}:${{ parameters.Tag }}
    volumes: '$(Build.SourcesDirectory):$(Build.SourcesDirectory)'
    workingDirectory: '$(Build.SourcesDirectory)'
    containerCommand: ${{ parameters.ContainerCommand }}
    runInBackground: false
    envVars: |
      TARGET_BRANCH