Skip to content

Commit 2635ff7

Browse files
committed
Update
1 parent b772ddd commit 2635ff7

File tree

4,654 files changed

+2402889
-1
lines changed

Some content is hidden

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

4,654 files changed

+2402889
-1
lines changed

venv/cpython

-1
This file was deleted.
+129
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
variables:
2+
coverage: false
3+
4+
trigger: ['main', '3.11', '3.10', '3.9', '3.8', '3.7']
5+
6+
jobs:
7+
- job: Prebuild
8+
displayName: Pre-build checks
9+
10+
pool:
11+
vmImage: ubuntu-20.04
12+
13+
steps:
14+
- template: ./prebuild-checks.yml
15+
16+
17+
- job: Docs_PR
18+
displayName: Docs PR
19+
dependsOn: Prebuild
20+
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['docs.run'], 'true'))
21+
22+
pool:
23+
vmImage: ubuntu-20.04
24+
25+
steps:
26+
- template: ./docs-steps.yml
27+
parameters:
28+
upload: true
29+
30+
31+
- job: macOS_CI_Tests
32+
displayName: macOS CI Tests
33+
dependsOn: Prebuild
34+
#condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))
35+
# bpo-39837: macOS tests on Azure Pipelines are disabled
36+
condition: false
37+
38+
variables:
39+
testRunTitle: '$(build.sourceBranchName)-macos'
40+
testRunPlatform: macos
41+
42+
pool:
43+
vmImage: macos-10.15
44+
45+
steps:
46+
- template: ./macos-steps.yml
47+
48+
49+
- job: Ubuntu_CI_Tests
50+
displayName: Ubuntu CI Tests
51+
dependsOn: Prebuild
52+
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))
53+
54+
pool:
55+
vmImage: ubuntu-20.04
56+
57+
variables:
58+
testRunTitle: '$(build.sourceBranchName)-linux'
59+
testRunPlatform: linux
60+
openssl_version: 1.1.1q
61+
62+
steps:
63+
- template: ./posix-steps.yml
64+
parameters:
65+
dependencies: apt
66+
67+
68+
- job: Ubuntu_Coverage_CI_Tests
69+
displayName: Ubuntu CI Tests (coverage)
70+
dependsOn: Prebuild
71+
condition: |
72+
and(
73+
and(
74+
succeeded(),
75+
eq(variables['coverage'], 'true')
76+
),
77+
eq(dependencies.Prebuild.outputs['tests.run'], 'true')
78+
)
79+
80+
pool:
81+
vmImage: ubuntu-20.04
82+
83+
variables:
84+
testRunTitle: '$(Build.SourceBranchName)-linux-coverage'
85+
testRunPlatform: linux-coverage
86+
openssl_version: 1.1.1q
87+
88+
steps:
89+
- template: ./posix-steps.yml
90+
parameters:
91+
dependencies: apt
92+
coverage: true
93+
94+
95+
- job: Windows_CI_Tests
96+
displayName: Windows CI Tests
97+
dependsOn: Prebuild
98+
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true'))
99+
100+
pool:
101+
vmImage: windows-2022
102+
103+
strategy:
104+
matrix:
105+
win32:
106+
arch: win32
107+
buildOpt: '-p Win32'
108+
testRunTitle: '$(Build.SourceBranchName)-win32'
109+
testRunPlatform: win32
110+
win64:
111+
arch: amd64
112+
buildOpt: '-p x64'
113+
testRunTitle: '$(Build.SourceBranchName)-win64'
114+
testRunPlatform: win64
115+
maxParallel: 4
116+
117+
steps:
118+
- template: ./windows-steps.yml
119+
120+
- template: ./windows-layout-steps.yml
121+
parameters:
122+
kind: nuget
123+
- template: ./windows-layout-steps.yml
124+
parameters:
125+
kind: embed
126+
- template: ./windows-layout-steps.yml
127+
parameters:
128+
kind: appx
129+
fulltest: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
parameters:
2+
latex: false
3+
upload: false
4+
5+
steps:
6+
- checkout: self
7+
clean: true
8+
fetchDepth: 5
9+
10+
- task: UsePythonVersion@0
11+
displayName: 'Use Python 3.6 or later'
12+
inputs:
13+
versionSpec: '>=3.6'
14+
15+
- script: python -m pip install -r requirements.txt
16+
workingDirectory: '$(build.sourcesDirectory)/Doc'
17+
displayName: 'Install build dependencies'
18+
19+
- ${{ if ne(parameters.latex, 'true') }}:
20+
- script: make check html PYTHON=python
21+
workingDirectory: '$(build.sourcesDirectory)/Doc'
22+
displayName: 'Build documentation'
23+
24+
- ${{ if eq(parameters.latex, 'true') }}:
25+
- script: sudo apt-get update && sudo apt-get install -qy --force-yes texlive-full
26+
displayName: 'Install LaTeX'
27+
28+
- script: make dist PYTHON=python SPHINXBUILD='python -m sphinx' BLURB='python -m blurb'
29+
workingDirectory: '$(build.sourcesDirectory)/Doc'
30+
displayName: 'Build documentation'
31+
32+
- ${{ if eq(parameters.upload, 'true') }}:
33+
- task: PublishBuildArtifacts@1
34+
displayName: 'Publish docs'
35+
36+
inputs:
37+
PathToPublish: '$(build.sourcesDirectory)/Doc/build'
38+
ArtifactName: docs
39+
publishLocation: Container
40+
41+
- ${{ if eq(parameters.latex, 'true') }}:
42+
- task: PublishBuildArtifacts@1
43+
displayName: 'Publish dist'
44+
inputs:
45+
PathToPublish: '$(build.sourcesDirectory)/Doc/dist'
46+
ArtifactName: docs_dist
47+
publishLocation: Container
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Locate a set of the tools used for builds
2+
3+
steps:
4+
- template: windows-release/find-sdk.yml
5+
parameters:
6+
toolname: 'signtool.exe'
7+
8+
- powershell: |
9+
$vcvarsall = (& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" `
10+
-prerelease `
11+
-latest `
12+
-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
13+
-find VC\Auxiliary\Build\vcvarsall.bat)
14+
Write-Host "Found vcvarsall at $vcvarsall"
15+
Write-Host "##vso[task.setVariable variable=vcvarsall]$vcvarsall"
16+
displayName: 'Find vcvarsall.bat'
17+
18+
- powershell: |
19+
$msbuild = (& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" `
20+
-prerelease `
21+
-latest `
22+
-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
23+
-find MSBuild\Current\Bin\msbuild.exe)
24+
Write-Host "Found MSBuild at $msbuild"
25+
Write-Host "##vso[task.setVariable variable=msbuild]$msbuild"
26+
displayName: 'Find MSBuild'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: $(SourceTag)_$(Date:yyyyMMdd)$(Rev:.rr)
2+
3+
variables:
4+
IntDir: '$(Build.BinariesDirectory)'
5+
OutDir: '$(Build.ArtifactStagingDirectory)'
6+
7+
# MUST BE SET AT QUEUE TIME
8+
# SigningCertificate: 'Python Software Foundation'
9+
# SourcesRepo: 'https://github.com/python/cpython-source-deps'
10+
# SourceTag: 'libffi-3.4.2'
11+
12+
jobs:
13+
- job: Build_LibFFI
14+
displayName: LibFFI
15+
pool:
16+
vmImage: windows-latest
17+
18+
workspace:
19+
clean: all
20+
21+
steps:
22+
- checkout: none
23+
24+
- template: ./find-tools.yml
25+
26+
- powershell: |
27+
mkdir -Force "$(IntDir)\script"
28+
iwr "https://github.com/python/cpython/raw/main/PCbuild/prepare_libffi.bat" `
29+
-outfile "$(IntDir)\script\prepare_libffi.bat"
30+
displayName: 'Download build script'
31+
32+
- powershell: |
33+
git clone $(SourcesRepo) -b $(SourceTag) --depth 1 -c core.autocrlf=false -c core.eol=lf .
34+
displayName: 'Check out LibFFI sources'
35+
36+
- script: 'prepare_libffi.bat --install-cygwin'
37+
workingDirectory: '$(IntDir)\script'
38+
displayName: 'Install Cygwin and build'
39+
env:
40+
VCVARSALL: '$(vcvarsall)'
41+
LIBFFI_SOURCE: '$(Build.SourcesDirectory)'
42+
LIBFFI_OUT: '$(OutDir)'
43+
44+
- powershell: |
45+
if ((gci *\*.dll).Count -lt 4) {
46+
Write-Error "Did not generate enough DLL files"
47+
}
48+
if ((gci *\Include\ffi.h).Count -lt 4) {
49+
Write-Error "Did not generate enough include files"
50+
}
51+
failOnStderr: true
52+
workingDirectory: '$(OutDir)'
53+
displayName: 'Verify files were created'
54+
55+
- publish: '$(OutDir)'
56+
artifact: 'unsigned'
57+
displayName: 'Publish unsigned build'
58+
59+
- job: Sign_LibFFI
60+
displayName: Sign LibFFI
61+
dependsOn: Build_LibFFI
62+
pool:
63+
name: 'Windows Release'
64+
65+
workspace:
66+
clean: all
67+
68+
steps:
69+
- checkout: none
70+
- download: current
71+
artifact: unsigned
72+
73+
- template: ./find-tools.yml
74+
75+
- powershell: |
76+
signtool sign /q /a `
77+
/n "Python Software Foundation" `
78+
/fd sha256 `
79+
/tr http://timestamp.digicert.com/ /td sha256 `
80+
/d "LibFFI for Python" `
81+
(gci "$(Pipeline.Workspace)\unsigned\*.dll" -r)
82+
displayName: 'Sign files'
83+
84+
- publish: '$(Pipeline.Workspace)\unsigned'
85+
artifact: 'libffi'
86+
displayName: 'Publish libffi'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
steps:
2+
- checkout: self
3+
clean: true
4+
fetchDepth: 5
5+
6+
- script: ./configure --with-pydebug --with-openssl=/usr/local/opt/openssl --prefix=/opt/python-azdev
7+
displayName: 'Configure CPython (debug)'
8+
9+
- script: make -j4
10+
displayName: 'Build CPython'
11+
12+
- script: make pythoninfo
13+
displayName: 'Display build info'
14+
15+
- script: make buildbottest TESTOPTS="-j4 -uall,-cpu --junit-xml=$(build.binariesDirectory)/test-results.xml"
16+
displayName: 'Tests'
17+
continueOnError: true
18+
timeoutInMinutes: 30
19+
20+
- task: PublishTestResults@2
21+
displayName: 'Publish Test Results'
22+
inputs:
23+
testResultsFiles: '$(build.binariesDirectory)/test-results.xml'
24+
mergeTestResults: true
25+
testRunTitle: $(testRunTitle)
26+
platform: $(testRunPlatform)
27+
condition: succeededOrFailed()

0 commit comments

Comments
 (0)