@@ -38,10 +38,22 @@ parameters:
38
38
displayName : " Publish ARM64 build"
39
39
type : boolean
40
40
default : true
41
+ # Because there is no ARM64 Tcl/Tk pre-3.11, we need a separate option
42
+ # to keep those builds working when the files are going to be absent.
43
+ # Eventually when we stop releasing anything that old, we can drop this
44
+ # argument (and make it implicitly always 'true')
45
+ - name : ARM64TclTk
46
+ displayName : " Use Tcl/Tk for ARM64 (3.11 and later)"
47
+ type : boolean
48
+ default : true
41
49
- name : DoPGO
42
50
displayName : " Run PGO"
43
51
type : boolean
44
52
default : true
53
+ - name : DoCHM
54
+ displayName : " Produce compiled help document (pre-3.11)"
55
+ type : boolean
56
+ default : false
45
57
- name : DoLayout
46
58
displayName : " Produce full layout artifact"
47
59
type : boolean
@@ -78,6 +90,7 @@ variables:
78
90
${{ if ne(parameters.SigningCertificate, 'Unsigned') }} :
79
91
SigningCertificate : ${{ parameters.SigningCertificate }}
80
92
SigningDescription : ${{ parameters.SigningDescription }}
93
+ DoCHM : ${{ parameters.DoCHM }}
81
94
DoLayout : ${{ parameters.DoLayout }}
82
95
DoMSIX : ${{ parameters.DoMSIX }}
83
96
DoNuget : ${{ parameters.DoNuget }}
@@ -98,6 +111,8 @@ stages:
98
111
displayName : Build binaries
99
112
jobs :
100
113
- template : windows-release/stage-build.yml
114
+ parameters :
115
+ ARM64TclTk : ${{ parameters.ARM64TclTk }}
101
116
102
117
- stage : Sign
103
118
displayName : Sign binaries
@@ -110,6 +125,8 @@ stages:
110
125
dependsOn : Sign
111
126
jobs :
112
127
- template : windows-release/stage-layout-full.yml
128
+ parameters :
129
+ ARM64TclTk : ${{ parameters.ARM64TclTk }}
113
130
- template : windows-release/stage-layout-embed.yml
114
131
- template : windows-release/stage-layout-nuget.yml
115
132
@@ -124,65 +141,80 @@ stages:
124
141
- template : windows-release/stage-test-embed.yml
125
142
- template : windows-release/stage-test-nuget.yml
126
143
127
- - stage : Layout_MSIX
128
- displayName : Generate MSIX layouts
129
- dependsOn : Sign
130
- condition : and(succeeded(), eq(variables['DoMSIX'], 'true'))
131
- jobs :
132
- - template : windows-release/stage-layout-msix.yml
133
-
134
- - stage : Pack_MSIX
135
- displayName : Package MSIX
136
- dependsOn : Layout_MSIX
137
- jobs :
138
- - template : windows-release/stage-pack-msix.yml
139
-
140
- - stage : Build_MSI
141
- displayName : Build MSI installer
142
- dependsOn : Sign
143
- condition : and(succeeded(), eq(variables['DoMSI'], 'true'))
144
- jobs :
145
- - template : windows-release/stage-msi.yml
146
-
147
- - stage : Test_MSI
148
- displayName : Test MSI installer
149
- dependsOn : Build_MSI
150
- jobs :
151
- - template : windows-release/stage-test-msi.yml
144
+ - ${{ if eq(parameters.DoMSIX, 'true') }} :
145
+ - stage : Layout_MSIX
146
+ displayName : Generate MSIX layouts
147
+ dependsOn : Sign
148
+ jobs :
149
+ - template : windows-release/stage-layout-msix.yml
150
+ parameters :
151
+ ARM64TclTk : ${{ parameters.ARM64TclTk }}
152
152
153
- - ${{ if eq(parameters.DoPublish, 'true') }} :
154
- - stage : PublishPyDotOrg
155
- displayName : Publish to python.org
156
- dependsOn : ['Test_MSI', 'Test']
153
+ - stage : Pack_MSIX
154
+ displayName : Package MSIX
155
+ dependsOn : Layout_MSIX
157
156
jobs :
158
- - template : windows-release/stage-publish-pythonorg .yml
157
+ - template : windows-release/stage-pack-msix .yml
159
158
160
- - stage : PublishNuget
161
- displayName : Publish to nuget.org
162
- dependsOn : Test
159
+ - ${{ if eq(parameters.DoMSI, 'true') }} :
160
+ - stage : Build_MSI
161
+ displayName : Build MSI installer
162
+ dependsOn : Sign
163
163
jobs :
164
- - template : windows-release/stage-publish-nugetorg.yml
164
+ - template : windows-release/stage-msi.yml
165
+ parameters :
166
+ ARM64TclTk : ${{ parameters.ARM64TclTk }}
165
167
166
- - stage : PublishStore
167
- displayName : Publish to Store
168
- dependsOn : Pack_MSIX
168
+ - stage : Test_MSI
169
+ displayName : Test MSI installer
170
+ dependsOn : Build_MSI
169
171
jobs :
170
- - template : windows-release/stage-publish-store.yml
172
+ - template : windows-release/stage-test-msi.yml
173
+
174
+ - ${{ if eq(parameters.DoPublish, 'true') }} :
175
+ - ${{ if eq(parameters.DoMSI, 'true') }} :
176
+ - stage : PublishPyDotOrg
177
+ displayName : Publish to python.org
178
+ dependsOn : ['Test_MSI', 'Test']
179
+ jobs :
180
+ - template : windows-release/stage-publish-pythonorg.yml
181
+
182
+ - ${{ if eq(parameters.DoNuget, 'true') }} :
183
+ - stage : PublishNuget
184
+ displayName : Publish to nuget.org
185
+ ${{ if eq(parameters.DoMSI, 'true') }} :
186
+ dependsOn : ['Test_MSI', 'Test']
187
+ ${{ else }} :
188
+ dependsOn : ' Test'
189
+ jobs :
190
+ - template : windows-release/stage-publish-nugetorg.yml
191
+
192
+ - ${{ if eq(parameters.DoMSIX, 'true') }} :
193
+ - stage : PublishStore
194
+ displayName : Publish to Store
195
+ ${{ if eq(parameters.DoMSI, 'true') }} :
196
+ dependsOn : ['Test_MSI', 'Pack_MSIX']
197
+ ${{ else }} :
198
+ dependsOn : ' Pack_MSIX'
199
+ jobs :
200
+ - template : windows-release/stage-publish-store.yml
171
201
172
202
- ${{ else }} :
173
203
- stage : PublishExisting
174
204
displayName : Publish existing build
175
205
dependsOn : []
176
- condition : and(succeeded(), eq(variables['DoPublish'], 'true'))
177
206
jobs :
178
- - template : windows-release/stage-publish-pythonorg.yml
179
- parameters :
180
- BuildToPublish : ${{ parameters.BuildToPublish }}
207
+ - ${{ if eq(parameters.DoMSI, 'true') }} :
208
+ - template : windows-release/stage-publish-pythonorg.yml
209
+ parameters :
210
+ BuildToPublish : ${{ parameters.BuildToPublish }}
181
211
182
- - template : windows-release/stage-publish-nugetorg.yml
183
- parameters :
184
- BuildToPublish : ${{ parameters.BuildToPublish }}
212
+ - ${{ if eq(parameters.DoNuget, 'true') }} :
213
+ - template : windows-release/stage-publish-nugetorg.yml
214
+ parameters :
215
+ BuildToPublish : ${{ parameters.BuildToPublish }}
185
216
186
- - template : windows-release/stage-publish-store.yml
187
- parameters :
188
- BuildToPublish : ${{ parameters.BuildToPublish }}
217
+ - ${{ if eq(parameters.DoMSIX, 'true') }} :
218
+ - template : windows-release/stage-publish-store.yml
219
+ parameters :
220
+ BuildToPublish : ${{ parameters.BuildToPublish }}
0 commit comments