Skip to content

Commit ab12a8c

Browse files
gdamslbussell
andauthored
Extract pool/signing variables into reusable template (#2032)
Move pool/image configuration and MicroBuild signing variables from dotnet/common.yml into a new pool-and-signing.yml template. dotnet/common.yml currently bundles these shared variables together with the DotNet-Docker-Common-2 variable group, which forces downstream repos (e.g. go-images) to copy-paste ~80 lines of pool and signing config rather than importing dotnet/common.yml directly. By extracting pool-and-signing.yml, downstream repos can import just the shared variables without pulling in dotnet-specific variable groups or re-importing base templates that would override their customizations. See https://github.com/microsoft/go-images/blob/microsoft/main/eng/pipeline/variables/go-common.yml as an example of how much downstream duplication we need right now simply because we can't import the `DotNet-Docker-Common-2` variable group from `eng/docker-tools/templates/variables/dotnet/common.yml` --------- Co-authored-by: Logan Bussell <loganbussell@microsoft.com>
1 parent 06c0b37 commit ab12a8c

4 files changed

Lines changed: 79 additions & 71 deletions

File tree

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Build pool and image variables for dnceng pipelines.
2+
# Reference this template in pipelines that run in the dnceng or dnceng-public Azure DevOps orgs.
3+
4+
variables:
5+
- name: linuxAmd64InternalPoolImage
6+
value: build.azurelinux.3.amd64
7+
- name: linuxAmd64PublicPoolImage
8+
value: build.azurelinux.3.amd64.open
9+
- name: linuxAmd64PublicPoolName
10+
value: NetCore-Public
11+
- name: linuxAmd64InternalPoolName
12+
value: NetCore1ESPool-Internal
13+
14+
- name: linuxArm64PublicPoolImage
15+
value: build.azurelinux.3.arm64.open
16+
- name: linuxArm64InternalPoolImage
17+
value: build.azurelinux.3.arm64
18+
- name: linuxArm64PublicPoolName
19+
value: Docker-Linux-Arm-Public
20+
- name: linuxArm64InternalPoolName
21+
value: Docker-Linux-Arm-Internal
22+
23+
- name: linuxArm32PublicPoolImage
24+
value: build.azurelinux.3.arm64.open
25+
- name: linuxArm32InternalPoolImage
26+
value: build.azurelinux.3.arm64
27+
- name: linuxArm32PublicPoolName
28+
value: Docker-Linux-Arm-Public
29+
- name: linuxArm32InternalPoolName
30+
value: Docker-Linux-Arm-Internal
31+
32+
- name: windowsServer2016PublicPoolImage
33+
value: Server2016-NESDockerBuilds
34+
- name: windowsServer2016InternalPoolImage
35+
value: Server2016-NESDockerBuilds-1ESPT
36+
- name: windowsServer2016PoolName
37+
value: Docker-2016-${{ variables['System.TeamProject'] }}
38+
39+
- name: windowsServer2019PublicPoolImage
40+
value: Server2019-1809-NESDockerBuilds
41+
- name: windowsServer2019InternalPoolImage
42+
value: Server2019-1809-NESDockerBuilds-1ESPT
43+
- name: windowsServer2019PoolName
44+
value: Docker-1809-${{ variables['System.TeamProject'] }}
45+
46+
- name: windowsServer2022PublicPoolImage
47+
value: Server2022-NESDockerBuilds
48+
- name: windowsServer2022InternalPoolImage
49+
value: Server2022-NESDockerBuilds-1ESPT
50+
- name: windowsServer2022PoolName
51+
value: Docker-2022-${{ variables['System.TeamProject'] }}
52+
53+
- name: windowsServer2025PublicPoolImage
54+
value: Server2025-NESDockerBuilds
55+
- name: windowsServer2025InternalPoolImage
56+
value: Server2025-NESDockerBuilds-1ESPT
57+
- name: windowsServer2025PoolName
58+
value: Docker-2025-${{ variables['System.TeamProject'] }}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Azure DevOps project name variables for dnceng pipelines.
2+
# Reference this template in pipelines that run in the dnceng or dnceng-public Azure DevOps orgs.
3+
4+
variables:
5+
- name: publicProjectName
6+
value: public
7+
- name: internalProjectName
8+
value: internal
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# MicroBuild signing variables for dnceng pipelines.
2+
# Reference this template in pipelines that run in the dnceng or dnceng-public Azure DevOps orgs.
3+
4+
variables:
5+
- name: TeamName
6+
value: DotNetCore
7+
- name: MicroBuildFeedSource
8+
value: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
9+
- name: MicroBuildPluginVersion
10+
value: latest
Lines changed: 3 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
variables:
22
- template: /eng/docker-tools/templates/variables/common.yml@self
3-
4-
- name: publicProjectName
5-
value: public
6-
- name: internalProjectName
7-
value: internal
3+
- template: /eng/docker-tools/templates/variables/dnceng-build-pools.yml@self
4+
- template: /eng/docker-tools/templates/variables/dnceng-signing.yml@self
5+
- template: /eng/docker-tools/templates/variables/dnceng-project-names.yml@self
86

97
# $(dockerHubRegistryCreds) is needed by the copy-base-images step in
108
# eng/docker-tools/templates/stages/build-and-test.yml#L73-L78, even during a dry-run.
@@ -13,70 +11,4 @@ variables:
1311
- name: dockerHubRegistryCreds
1412
value: --registry-creds 'docker.io=placeholder;placeholder'
1513

16-
- name: linuxAmd64InternalPoolImage
17-
value: build.azurelinux.3.amd64
18-
- name: linuxAmd64PublicPoolImage
19-
value: build.azurelinux.3.amd64.open
20-
- name: linuxAmd64PublicPoolName
21-
value: NetCore-Public
22-
- name: linuxAmd64InternalPoolName
23-
value: NetCore1ESPool-Internal
24-
25-
- name: linuxArm64PublicPoolImage
26-
value: build.azurelinux.3.arm64.open
27-
- name: linuxArm64InternalPoolImage
28-
value: build.azurelinux.3.arm64
29-
- name: linuxArm64PublicPoolName
30-
value: Docker-Linux-Arm-Public
31-
- name: linuxArm64InternalPoolName
32-
value: Docker-Linux-Arm-Internal
33-
34-
- name: linuxArm32PublicPoolImage
35-
value: build.azurelinux.3.arm64.open
36-
- name: linuxArm32InternalPoolImage
37-
value: build.azurelinux.3.arm64
38-
- name: linuxArm32PublicPoolName
39-
value: Docker-Linux-Arm-Public
40-
- name: linuxArm32InternalPoolName
41-
value: Docker-Linux-Arm-Internal
42-
43-
- name: windowsServer2016PublicPoolImage
44-
value: Server2016-NESDockerBuilds
45-
- name: windowsServer2016InternalPoolImage
46-
value: Server2016-NESDockerBuilds-1ESPT
47-
- name: windowsServer2016PoolName
48-
value: Docker-2016-${{ variables['System.TeamProject'] }}
49-
50-
- name: windowsServer2019PublicPoolImage
51-
value: Server2019-1809-NESDockerBuilds
52-
- name: windowsServer2019InternalPoolImage
53-
value: Server2019-1809-NESDockerBuilds-1ESPT
54-
- name: windowsServer2019PoolName
55-
value: Docker-1809-${{ variables['System.TeamProject'] }}
56-
57-
- name: windowsServer2022PublicPoolImage
58-
value: Server2022-NESDockerBuilds
59-
- name: windowsServer2022InternalPoolImage
60-
value: Server2022-NESDockerBuilds-1ESPT
61-
- name: windowsServer2022PoolName
62-
value: Docker-2022-${{ variables['System.TeamProject'] }}
63-
64-
- name: windowsServer2025PublicPoolImage
65-
value: Server2025-NESDockerBuilds
66-
- name: windowsServer2025InternalPoolImage
67-
value: Server2025-NESDockerBuilds-1ESPT
68-
- name: windowsServer2025PoolName
69-
value: Docker-2025-${{ variables['System.TeamProject'] }}
70-
71-
## Signing
72-
# Team name required for MicroBuild signing plugin
73-
- name: TeamName
74-
value: DotNetCore
75-
# MicroBuild signing plugin feed source
76-
- name: MicroBuildFeedSource
77-
value: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
78-
# MicroBuild signing plugin version
79-
- name: MicroBuildPluginVersion
80-
value: latest
81-
8214
- group: DotNet-Docker-Common-2

0 commit comments

Comments
 (0)