Welcome to mirror list, hosted at ThFree Co, Russian Federation.

source-build.yml « job « templates « common « eng - github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 88f6f75a622dc64f0cafb3b977b6789c30463b49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
parameters:
  # This template adds arcade-powered source-build to CI. The template produces a server job with a
  # default ID 'Source_Build_Complete' to put in a dependency list if necessary.

  # Specifies the prefix for source-build jobs added to pipeline. Use this if disambiguation needed.
  jobNamePrefix: 'Source_Build'

  # Defines the platform on which to run the job. By default, a linux-x64 machine, suitable for
  # managed-only repositories. This is an object with these properties:
  #
  # name: ''
  #   The name of the job. This is included in the job ID.
  # targetRID: ''
  #   The name of the target RID to use, instead of the one auto-detected by Arcade.
  # nonPortable: false
  #   Enables non-portable mode. This means a more specific RID (e.g. fedora.32-x64 rather than
  #   linux-x64), and compiling against distro-provided packages rather than portable ones.
  # skipPublishValidation: false
  #   Disables publishing validation.  By default, a check is performed to ensure no packages are
  #   published by source-build.
  # container: ''
  #   A container to use. Runs in docker.
  # pool: {}
  #   A pool to use. Runs directly on an agent.
  # buildScript: ''
  #   Specifies the build script to invoke to perform the build in the repo. The default
  #   './build.sh' should work for typical Arcade repositories, but this is customizable for
  #   difficult situations.
  # jobProperties: {}
  #   A list of job properties to inject at the top level, for potential extensibility beyond
  #   container and pool.
  platform: {}

jobs:
- job: ${{ parameters.jobNamePrefix }}_${{ parameters.platform.name }}
  displayName: Source-Build (${{ parameters.platform.name }})

  ${{ each property in parameters.platform.jobProperties }}:
    ${{ property.key }}: ${{ property.value }}

  ${{ if ne(parameters.platform.container, '') }}:
    container: ${{ parameters.platform.container }}

  ${{ if eq(parameters.platform.pool, '') }}:
    # The default VM host AzDO pool. This should be capable of running Docker containers: almost all
    # source-build builds run in Docker, including the default managed platform.
    pool:
      ${{ if eq(variables['System.TeamProject'], 'public') }}:
        name: NetCore-Public
        demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
      ${{ if eq(variables['System.TeamProject'], 'internal') }}:
        name: NetCore1ESPool-Internal
        demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
  ${{ if ne(parameters.platform.pool, '') }}:
    pool: ${{ parameters.platform.pool }}

  workspace:
    clean: all

  steps:
  - template: /eng/common/templates/steps/source-build.yml
    parameters:
      platform: ${{ parameters.platform }}