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

Skip to content

Commit 340cea9

Browse files
author
Erlend E. Aasland
committed
Merge branch 'main' into fix-issue-34916
2 parents 6a789ac + bcda3f1 commit 340cea9

File tree

928 files changed

+36320
-38456
lines changed

Some content is hidden

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

928 files changed

+36320
-38456
lines changed

.azure-pipelines/ci.yml

+2-2
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

+3-1
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

+2-2
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

+80-48
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,22 @@ 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 (3.11 and later)"
47+
type: boolean
48+
default: true
4149
- name: DoPGO
4250
displayName: "Run PGO"
4351
type: boolean
4452
default: true
53+
- name: DoCHM
54+
displayName: "Produce compiled help document (pre-3.11)"
55+
type: boolean
56+
default: false
4557
- name: DoLayout
4658
displayName: "Produce full layout artifact"
4759
type: boolean
@@ -78,6 +90,7 @@ variables:
7890
${{ if ne(parameters.SigningCertificate, 'Unsigned') }}:
7991
SigningCertificate: ${{ parameters.SigningCertificate }}
8092
SigningDescription: ${{ parameters.SigningDescription }}
93+
DoCHM: ${{ parameters.DoCHM }}
8194
DoLayout: ${{ parameters.DoLayout }}
8295
DoMSIX: ${{ parameters.DoMSIX }}
8396
DoNuget: ${{ parameters.DoNuget }}
@@ -98,6 +111,8 @@ stages:
98111
displayName: Build binaries
99112
jobs:
100113
- template: windows-release/stage-build.yml
114+
parameters:
115+
ARM64TclTk: ${{ parameters.ARM64TclTk }}
101116

102117
- stage: Sign
103118
displayName: Sign binaries
@@ -110,6 +125,8 @@ stages:
110125
dependsOn: Sign
111126
jobs:
112127
- template: windows-release/stage-layout-full.yml
128+
parameters:
129+
ARM64TclTk: ${{ parameters.ARM64TclTk }}
113130
- template: windows-release/stage-layout-embed.yml
114131
- template: windows-release/stage-layout-nuget.yml
115132

@@ -124,65 +141,80 @@ stages:
124141
- template: windows-release/stage-test-embed.yml
125142
- template: windows-release/stage-test-nuget.yml
126143

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 }}
152152

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
157156
jobs:
158-
- template: windows-release/stage-publish-pythonorg.yml
157+
- template: windows-release/stage-pack-msix.yml
159158

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
163163
jobs:
164-
- template: windows-release/stage-publish-nugetorg.yml
164+
- template: windows-release/stage-msi.yml
165+
parameters:
166+
ARM64TclTk: ${{ parameters.ARM64TclTk }}
165167

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
169171
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
171201

172202
- ${{ else }}:
173203
- stage: PublishExisting
174204
displayName: Publish existing build
175205
dependsOn: []
176-
condition: and(succeeded(), eq(variables['DoPublish'], 'true'))
177206
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 }}
181211

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 }}
185216

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 }}

.azure-pipelines/windows-release/gpg-sign.yml

-28
This file was deleted.

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

+12-9
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

@@ -18,8 +21,6 @@ steps:
1821
inputs:
1922
sourceFolder: $(Build.BinariesDirectory)\doc
2023
targetFolder: $(Build.SourcesDirectory)\Doc\build
21-
contents: |
22-
htmlhelp\*.chm
2324

2425
- task: DownloadPipelineArtifact@1
2526
displayName: 'Download artifact: bin_win32'
@@ -71,12 +72,13 @@ steps:
7172
artifactName: tcltk_lib_amd64
7273
targetPath: $(Build.BinariesDirectory)\tcltk_lib_amd64
7374

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
75+
- ${{ if eq(parameters.ARM64TclTk, true) }}:
76+
- task: DownloadPipelineArtifact@1
77+
displayName: 'Download artifact: tcltk_lib_arm64'
78+
condition: and(succeeded(), eq(variables['PublishARM64'], 'true'))
79+
inputs:
80+
artifactName: tcltk_lib_arm64
81+
targetPath: $(Build.BinariesDirectory)\tcltk_lib_arm64
8082

8183
- powershell: |
8284
copy $(Build.BinariesDirectory)\amd64\Activate.ps1 Lib\venv\scripts\common\Activate.ps1 -Force
@@ -137,8 +139,9 @@ steps:
137139
PYTHON: $(Build.BinariesDirectory)\win32\python.exe
138140
PythonForBuild: $(Build.BinariesDirectory)\win32\python.exe
139141
PYTHONHOME: $(Build.SourcesDirectory)
140-
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_arm64
141142
BuildForRelease: true
143+
${{ if eq(parameters.ARM64TclTk, true) }}:
144+
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_arm64
142145
143146
- task: CopyFiles@2
144147
displayName: 'Assemble artifact: msi (win32)'

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

+18-17
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
parameters:
2+
ARM64TclTk: true
3+
14
jobs:
25
- job: Build_Docs
36
displayName: Docs build
47
pool:
5-
#name: 'Windows Release'
68
vmImage: windows-2022
79

810
workspace:
@@ -18,14 +20,10 @@ jobs:
1820

1921
- script: Doc\make.bat htmlhelp
2022
displayName: 'Build CHM docs'
23+
condition: and(succeeded(), eq(variables['DoCHM'], 'true'))
2124
env:
2225
BUILDDIR: $(Build.BinariesDirectory)\Doc
2326

24-
#- powershell: |
25-
# mkdir -Force "$(Build.BinariesDirectory)\Doc\htmlhelp"
26-
# iwr "https://www.python.org/ftp/python/3.8.0/python380.chm" -OutFile "$(Build.BinariesDirectory)\Doc\htmlhelp\python390a0.chm"
27-
# displayName: 'Cheat at building CHM docs'
28-
2927
- task: CopyFiles@2
3028
displayName: 'Assemble artifact: Doc'
3129
inputs:
@@ -41,6 +39,7 @@ jobs:
4139
targetPath: $(Build.ArtifactStagingDirectory)\Doc
4240
artifactName: doc
4341

42+
4443
- job: Build_Python
4544
displayName: Python build
4645

@@ -166,12 +165,13 @@ jobs:
166165
platform: x64
167166
msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_amd64"
168167

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"
168+
- ${{ if eq(parameters.ARM64TclTk, true) }}:
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"
175175

176176
- task: PublishPipelineArtifact@0
177177
displayName: 'Publish artifact: tcltk_lib_win32'
@@ -185,8 +185,9 @@ jobs:
185185
targetPath: '$(Build.ArtifactStagingDirectory)\tcl_amd64'
186186
artifactName: tcltk_lib_amd64
187187

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

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

+5-1
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

0 commit comments

Comments
 (0)