Skip to content

Commit 622ca51

Browse files
committed
Merge remote-tracking branch 'upstream/main' into pep-678
2 parents e147f52 + f33e2c8 commit 622ca51

File tree

1,024 files changed

+47248
-43219
lines changed

Some content is hidden

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

1,024 files changed

+47248
-43219
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/tcltk-build.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ jobs:
6060
& "$(msbuild)" PCbuild\tix.vcxproj "@msbuild.rsp" /p:Platform=x64 /p:tcltkDir="$(OutDir)\amd64"
6161
displayName: 'Build for amd64'
6262
63+
- powershell: |
64+
& "$(msbuild)" PCbuild\tcl.vcxproj "@msbuild.rsp" /p:Platform=ARM64 /p:tcltkDir="$(OutDir)\arm64"
65+
& "$(msbuild)" PCbuild\tk.vcxproj "@msbuild.rsp" /p:Platform=ARM64 /p:tcltkDir="$(OutDir)\arm64"
66+
& "$(msbuild)" PCbuild\tix.vcxproj "@msbuild.rsp" /p:Platform=ARM64 /p:tcltkDir="$(OutDir)\arm64"
67+
displayName: 'Build for arm64'
68+
6369
- publish: '$(OutDir)'
6470
artifact: 'tcltk'
6571
displayName: 'Publishing tcltk'

.azure-pipelines/windows-release.yml

Lines changed: 80 additions & 48 deletions
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

Lines changed: 0 additions & 28 deletions
This file was deleted.

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

Lines changed: 13 additions & 5 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

@@ -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,6 +72,14 @@ steps:
7172
artifactName: tcltk_lib_amd64
7273
targetPath: $(Build.BinariesDirectory)\tcltk_lib_amd64
7374

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
82+
7483
- powershell: |
7584
copy $(Build.BinariesDirectory)\amd64\Activate.ps1 Lib\venv\scripts\common\Activate.ps1 -Force
7685
displayName: 'Copy signed files into sources'
@@ -107,7 +116,6 @@ steps:
107116
PYTHONHOME: $(Build.SourcesDirectory)
108117
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_win32
109118
BuildForRelease: true
110-
SuppressMinGWLib: true
111119
112120
- script: |
113121
%MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true
@@ -120,7 +128,6 @@ steps:
120128
PYTHONHOME: $(Build.SourcesDirectory)
121129
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_amd64
122130
BuildForRelease: true
123-
SuppressMinGWLib: true
124131
125132
- script: |
126133
%MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true
@@ -133,7 +140,8 @@ steps:
133140
PythonForBuild: $(Build.BinariesDirectory)\win32\python.exe
134141
PYTHONHOME: $(Build.SourcesDirectory)
135142
BuildForRelease: true
136-
SuppressMinGWLib: true
143+
${{ if eq(parameters.ARM64TclTk, true) }}:
144+
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_arm64
137145
138146
- task: CopyFiles@2
139147
displayName: 'Assemble artifact: msi (win32)'

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

Lines changed: 20 additions & 6 deletions
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,6 +165,14 @@ jobs:
166165
platform: x64
167166
msbuildArguments: /t:CopyTclTkLib /p:OutDir="$(Build.ArtifactStagingDirectory)\tcl_amd64"
168167

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"
175+
169176
- task: PublishPipelineArtifact@0
170177
displayName: 'Publish artifact: tcltk_lib_win32'
171178
inputs:
@@ -177,3 +184,10 @@ jobs:
177184
inputs:
178185
targetPath: '$(Build.ArtifactStagingDirectory)\tcl_amd64'
179186
artifactName: tcltk_lib_amd64
187+
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

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy