Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b196632

Browse files
committed
Merge branch 'main' into refactor-wait_for
2 parents 5e25891 + dd0082c commit b196632

File tree

110 files changed

+1795
-1367
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+1795
-1367
lines changed

.azure-pipelines/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
variables:
5858
testRunTitle: '$(build.sourceBranchName)-linux'
5959
testRunPlatform: linux
60-
openssl_version: 1.1.1m
60+
openssl_version: 1.1.1n
6161

6262
steps:
6363
- template: ./posix-steps.yml
@@ -83,7 +83,7 @@ jobs:
8383
variables:
8484
testRunTitle: '$(Build.SourceBranchName)-linux-coverage'
8585
testRunPlatform: linux-coverage
86-
openssl_version: 1.1.1m
86+
openssl_version: 1.1.1n
8787

8888
steps:
8989
- template: ./posix-steps.yml

.azure-pipelines/posix-steps.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ steps:
6666
COMMAND: make
6767

6868
- ${{ if eq(parameters.patchcheck, 'true') }}:
69-
- script: ./python Tools/scripts/patchcheck.py --ci true
69+
- script: |
70+
git fetch origin
71+
./python Tools/scripts/patchcheck.py --ci true
7072
displayName: 'Run patchcheck.py'
7173
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))
7274

.azure-pipelines/pr.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
variables:
5858
testRunTitle: '$(system.pullRequest.TargetBranch)-linux'
5959
testRunPlatform: linux
60-
openssl_version: 1.1.1m
60+
openssl_version: 1.1.1n
6161

6262
steps:
6363
- template: ./posix-steps.yml
@@ -83,7 +83,7 @@ jobs:
8383
variables:
8484
testRunTitle: '$(Build.SourceBranchName)-linux-coverage'
8585
testRunPlatform: linux-coverage
86-
openssl_version: 1.1.1m
86+
openssl_version: 1.1.1n
8787

8888
steps:
8989
- template: ./posix-steps.yml

.azure-pipelines/windows-release.yml

Lines changed: 75 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@ parameters:
3838
displayName: "Publish ARM64 build"
3939
type: boolean
4040
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"
47+
type: boolean
48+
default: true
4149
- name: DoPGO
4250
displayName: "Run PGO"
4351
type: boolean
@@ -98,6 +106,8 @@ stages:
98106
displayName: Build binaries
99107
jobs:
100108
- template: windows-release/stage-build.yml
109+
parameters:
110+
ARM64TclTk: ${{ parameters.ARM64TclTk }}
101111

102112
- stage: Sign
103113
displayName: Sign binaries
@@ -110,6 +120,8 @@ stages:
110120
dependsOn: Sign
111121
jobs:
112122
- template: windows-release/stage-layout-full.yml
123+
parameters:
124+
ARM64TclTk: ${{ parameters.ARM64TclTk }}
113125
- template: windows-release/stage-layout-embed.yml
114126
- template: windows-release/stage-layout-nuget.yml
115127

@@ -124,65 +136,80 @@ stages:
124136
- template: windows-release/stage-test-embed.yml
125137
- template: windows-release/stage-test-nuget.yml
126138

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
139+
- ${{ if eq(parameters.DoMSIX, 'true') }}:
140+
- stage: Layout_MSIX
141+
displayName: Generate MSIX layouts
142+
dependsOn: Sign
143+
jobs:
144+
- template: windows-release/stage-layout-msix.yml
145+
parameters:
146+
ARM64TclTk: ${{ parameters.ARM64TclTk }}
152147

153-
- ${{ if eq(parameters.DoPublish, 'true') }}:
154-
- stage: PublishPyDotOrg
155-
displayName: Publish to python.org
156-
dependsOn: ['Test_MSI', 'Test']
148+
- stage: Pack_MSIX
149+
displayName: Package MSIX
150+
dependsOn: Layout_MSIX
157151
jobs:
158-
- template: windows-release/stage-publish-pythonorg.yml
152+
- template: windows-release/stage-pack-msix.yml
159153

160-
- stage: PublishNuget
161-
displayName: Publish to nuget.org
162-
dependsOn: Test
154+
- ${{ if eq(parameters.DoMSI, 'true') }}:
155+
- stage: Build_MSI
156+
displayName: Build MSI installer
157+
dependsOn: Sign
163158
jobs:
164-
- template: windows-release/stage-publish-nugetorg.yml
159+
- template: windows-release/stage-msi.yml
160+
parameters:
161+
ARM64TclTk: ${{ parameters.ARM64TclTk }}
165162

166-
- stage: PublishStore
167-
displayName: Publish to Store
168-
dependsOn: Pack_MSIX
163+
- stage: Test_MSI
164+
displayName: Test MSI installer
165+
dependsOn: Build_MSI
169166
jobs:
170-
- template: windows-release/stage-publish-store.yml
167+
- template: windows-release/stage-test-msi.yml
168+
169+
- ${{ if eq(parameters.DoPublish, 'true') }}:
170+
- ${{ if eq(parameters.DoMSI, 'true') }}:
171+
- stage: PublishPyDotOrg
172+
displayName: Publish to python.org
173+
dependsOn: ['Test_MSI', 'Test']
174+
jobs:
175+
- template: windows-release/stage-publish-pythonorg.yml
176+
177+
- ${{ if eq(parameters.DoNuget, 'true') }}:
178+
- stage: PublishNuget
179+
displayName: Publish to nuget.org
180+
${{ if eq(parameters.DoMSI, 'true') }}:
181+
dependsOn: ['Test_MSI', 'Test']
182+
${{ else }}:
183+
dependsOn: 'Test'
184+
jobs:
185+
- template: windows-release/stage-publish-nugetorg.yml
186+
187+
- ${{ if eq(parameters.DoMSIX, 'true') }}:
188+
- stage: PublishStore
189+
displayName: Publish to Store
190+
${{ if eq(parameters.DoMSI, 'true') }}:
191+
dependsOn: ['Test_MSI', 'Pack_MSIX']
192+
${{ else }}:
193+
dependsOn: 'Pack_MSIX'
194+
jobs:
195+
- template: windows-release/stage-publish-store.yml
171196

172197
- ${{ else }}:
173198
- stage: PublishExisting
174199
displayName: Publish existing build
175200
dependsOn: []
176-
condition: and(succeeded(), eq(variables['DoPublish'], 'true'))
177201
jobs:
178-
- template: windows-release/stage-publish-pythonorg.yml
179-
parameters:
180-
BuildToPublish: ${{ parameters.BuildToPublish }}
202+
- ${{ if eq(parameters.DoMSI, 'true') }}:
203+
- template: windows-release/stage-publish-pythonorg.yml
204+
parameters:
205+
BuildToPublish: ${{ parameters.BuildToPublish }}
181206

182-
- template: windows-release/stage-publish-nugetorg.yml
183-
parameters:
184-
BuildToPublish: ${{ parameters.BuildToPublish }}
207+
- ${{ if eq(parameters.DoNuget, 'true') }}:
208+
- template: windows-release/stage-publish-nugetorg.yml
209+
parameters:
210+
BuildToPublish: ${{ parameters.BuildToPublish }}
185211

186-
- template: windows-release/stage-publish-store.yml
187-
parameters:
188-
BuildToPublish: ${{ parameters.BuildToPublish }}
212+
- ${{ if eq(parameters.DoMSIX, 'true') }}:
213+
- template: windows-release/stage-publish-store.yml
214+
parameters:
215+
BuildToPublish: ${{ parameters.BuildToPublish }}

.azure-pipelines/windows-release/msi-steps.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
parameters:
2+
ARM64TclTk: true
3+
14
steps:
25
- template: ./checkout.yml
36

@@ -71,12 +74,13 @@ steps:
7174
artifactName: tcltk_lib_amd64
7275
targetPath: $(Build.BinariesDirectory)\tcltk_lib_amd64
7376

74-
- task: DownloadPipelineArtifact@1
75-
displayName: 'Download artifact: tcltk_lib_arm64'
76-
condition: and(succeeded(), eq(variables['PublishARM64'], 'true'))
77-
inputs:
78-
artifactName: tcltk_lib_arm64
79-
targetPath: $(Build.BinariesDirectory)\tcltk_lib_arm64
77+
- ${{ if eq(parameters.ARM64TclTk, true) }}:
78+
- task: DownloadPipelineArtifact@1
79+
displayName: 'Download artifact: tcltk_lib_arm64'
80+
condition: and(succeeded(), eq(variables['PublishARM64'], 'true'))
81+
inputs:
82+
artifactName: tcltk_lib_arm64
83+
targetPath: $(Build.BinariesDirectory)\tcltk_lib_arm64
8084

8185
- powershell: |
8286
copy $(Build.BinariesDirectory)\amd64\Activate.ps1 Lib\venv\scripts\common\Activate.ps1 -Force
@@ -137,8 +141,9 @@ steps:
137141
PYTHON: $(Build.BinariesDirectory)\win32\python.exe
138142
PythonForBuild: $(Build.BinariesDirectory)\win32\python.exe
139143
PYTHONHOME: $(Build.SourcesDirectory)
140-
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_arm64
141144
BuildForRelease: true
145+
${{ if eq(parameters.ARM64TclTk, true) }}:
146+
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_arm64
142147
143148
- task: CopyFiles@2
144149
displayName: 'Assemble artifact: msi (win32)'

.azure-pipelines/windows-release/stage-build.yml

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
parameters:
2+
ARM64TclTk: true
3+
14
jobs:
25
- job: Build_Docs
36
displayName: Docs build
@@ -166,12 +169,13 @@ jobs:
166169
platform: x64
167170
msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_amd64"
168171

169-
- task: MSBuild@1
170-
displayName: 'Copy Tcl/Tk lib for publish'
171-
inputs:
172-
solution: PCbuild\tcltk.props
173-
platform: ARM64
174-
msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_arm64"
172+
- ${{ if eq(parameters.ARM64TclTk, true) }}:
173+
- task: MSBuild@1
174+
displayName: 'Copy Tcl/Tk lib for publish'
175+
inputs:
176+
solution: PCbuild\tcltk.props
177+
platform: ARM64
178+
msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_arm64"
175179

176180
- task: PublishPipelineArtifact@0
177181
displayName: 'Publish artifact: tcltk_lib_win32'
@@ -185,8 +189,9 @@ jobs:
185189
targetPath: '$(Build.ArtifactStagingDirectory)\tcl_amd64'
186190
artifactName: tcltk_lib_amd64
187191

188-
- task: PublishPipelineArtifact@0
189-
displayName: 'Publish artifact: tcltk_lib_arm64'
190-
inputs:
191-
targetPath: '$(Build.ArtifactStagingDirectory)\tcl_arm64'
192-
artifactName: tcltk_lib_arm64
192+
- ${{ if eq(parameters.ARM64TclTk, true) }}:
193+
- task: PublishPipelineArtifact@0
194+
displayName: 'Publish artifact: tcltk_lib_arm64'
195+
inputs:
196+
targetPath: '$(Build.ArtifactStagingDirectory)\tcl_arm64'
197+
artifactName: tcltk_lib_arm64

.azure-pipelines/windows-release/stage-layout-full.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
parameters:
2+
ARM64TclTk: true
3+
14
jobs:
25
- job: Make_Layouts
36
displayName: Make layouts
@@ -26,7 +29,8 @@ jobs:
2629
HostArch: amd64
2730
Python: $(Build.BinariesDirectory)\bin_amd64\python.exe
2831
PYTHONHOME: $(Build.SourcesDirectory)
29-
TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
32+
${{ if eq(parameters.ARM64TclTk, true) }}:
33+
TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
3034

3135
steps:
3236
- template: ./checkout.yml

.azure-pipelines/windows-release/stage-layout-msix.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
parameters:
2+
ARM64TclTk: true
3+
14
jobs:
25
- job: Make_MSIX_Layout
36
displayName: Make MSIX layout
@@ -25,7 +28,8 @@ jobs:
2528
HostArch: amd64
2629
Python: $(Build.BinariesDirectory)\bin_amd64\python.exe
2730
PYTHONHOME: $(Build.SourcesDirectory)
28-
TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
31+
${{ if eq(parameters.ARM64TclTk, true) }}:
32+
TclLibrary: $(Build.BinariesDirectory)\tcltk_lib\tcl8
2933

3034
steps:
3135
- template: ./checkout.yml

.azure-pipelines/windows-release/stage-msi.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
parameters:
2+
ARM64TclTk: true
3+
14
jobs:
25
- job: Make_MSI
36
displayName: Make MSI
@@ -16,6 +19,8 @@ jobs:
1619

1720
steps:
1821
- template: msi-steps.yml
22+
parameters:
23+
ARM64TclTk: ${{ parameters.ARM64TclTk }}
1924

2025
- job: Make_Signed_MSI
2126
displayName: Make signed MSI
@@ -34,3 +39,5 @@ jobs:
3439

3540
steps:
3641
- template: msi-steps.yml
42+
parameters:
43+
ARM64TclTk: ${{ parameters.ARM64TclTk }}

.azure-pipelines/windows-release/stage-pack-nuget.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,23 @@ jobs:
3232
inputs:
3333
versionSpec: '>=5.0'
3434

35-
- powershell: |
36-
nuget pack "$(Build.BinariesDirectory)\layout\python.nuspec" -OutputDirectory $(Build.ArtifactStagingDirectory) -NoPackageAnalysis -NonInteractive
35+
- powershell: >
36+
nuget pack
37+
"$(Build.BinariesDirectory)\layout\python.nuspec"
38+
-OutputDirectory $(Build.ArtifactStagingDirectory)
39+
-NoPackageAnalysis
40+
-NonInteractive
41+
condition: and(succeeded(), not(variables['OverrideNugetVersion']))
42+
displayName: 'Create nuget package'
43+
44+
- powershell: >
45+
nuget pack
46+
"$(Build.BinariesDirectory)\layout\python.nuspec"
47+
-OutputDirectory $(Build.ArtifactStagingDirectory)
48+
-NoPackageAnalysis
49+
-NonInteractive
50+
-Version "$(OverrideNugetVersion)"
51+
condition: and(succeeded(), variables['OverrideNugetVersion'])
3752
displayName: 'Create nuget package'
3853
3954
- powershell: |

.azure-pipelines/windows-release/stage-publish-nugetorg.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ parameters:
44
jobs:
55
- job: Publish_Nuget
66
displayName: Publish Nuget packages
7-
condition: and(succeeded(), eq(variables['DoNuget'], 'true'))
7+
condition: and(succeeded(), eq(variables['DoNuget'], 'true'), ne(variables['SkipNugetPublish'], 'true'))
88

99
pool:
1010
vmImage: windows-2022
@@ -38,7 +38,7 @@ jobs:
3838
- powershell: 'gci pythonarm*.nupkg | %{ Write-Host "Not publishing: $($_.Name)"; gi $_ } | del'
3939
displayName: 'Prevent publishing ARM64 packages'
4040
workingDirectory: '$(Build.BinariesDirectory)\nuget'
41-
condition: and(succeeded(), eq(variables['PublishARM64'], 'true'))
41+
condition: and(succeeded(), ne(variables['PublishARM64'], 'true'))
4242

4343
- task: NuGetCommand@2
4444
displayName: Push packages

0 commit comments

Comments
 (0)