Files @ r24245:1e4a8434fc12
Branch filter:

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

Patric Stout
Add: create bundles via CPack

CPack works closely together with CMake to do the right thing in
terms of bundling (called 'package'). This generates all the
packaging we need, and some more.
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'
    # Run the commit-checker only if it is a Pull Request
    condition: and(succeeded(), or(not(contains(variables['Agent.JobName'], 'commit-checker')), 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