Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions windows-release/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ parameters:
displayName: "Signature description"
type: string
default: '(default)'
- name: DoTailcalling
displayName: "Build AMD64 with tailcalling support (3.15 and later)"
type: boolean
default: false
- name: DoJIT
displayName: "Build the JIT compiler (3.14 and later)"
type: boolean
Expand Down Expand Up @@ -161,7 +165,7 @@ stages:
- stage: Build
displayName: Build binaries
pool:
vmImage: ${{ parameters.vmImage }}
vmImage: ${{ if(eq(parameters.DoTailcalling, 'true'), 'windows-2025-vs2026', parameters.vmImage) }}
jobs:
- template: start-arm64vm.yml
parameters:
Expand All @@ -186,7 +190,10 @@ stages:
ExtraOptionsFreethreaded: '--disable-gil --experimental-jit-off'
${{ else }}:
ExtraOptionsFreethreaded: '--disable-gil --experimental-jit'

${{ if ne(parameters.DoTailcalling, 'true') }}:
TailcallingOption: ''
${{ else }}:
TailcallingOption: '--tail-call-interp'
- stage: Sign
displayName: Sign binaries
dependsOn: Build
Expand Down
4 changes: 2 additions & 2 deletions windows-release/build-steps-pgo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ steps:
- ${{ if eq(parameters.PGInstrument, 'true') }}:
- powershell: |
$env:SigningCertificate = $null
.\PCbuild\build.bat -v -p $(Platform) -c PGInstrument $(ExtraOptions)
.\PCbuild\build.bat -v -p $(Platform) -c PGInstrument $(ExtraOptions) $(TailcallingOption)
displayName: 'Run build'
env:
IncludeUwp: true
Expand Down Expand Up @@ -100,7 +100,7 @@ steps:

- powershell: |
$env:SigningCertificate = $null
.\PCbuild\build.bat -v -p $(Platform) -c PGUpdate $(ExtraOptions)
.\PCbuild\build.bat -v -p $(Platform) -c PGUpdate $(ExtraOptions) $(TailcallingOption)
displayName: 'Run build with PGO'
env:
IncludeUwp: true
Expand Down
4 changes: 2 additions & 2 deletions windows-release/build-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ steps:
- ${{ if eq(parameters.ShouldPGO, 'false') }}:
- powershell: |
$env:SigningCertificate = $null
.\PCbuild\build.bat -v -p $(Platform) -c $(Configuration) $(ExtraOptions)
.\PCbuild\build.bat -v -p $(Platform) -c $(Configuration) $(ExtraOptions) $(TailcallingOption)
displayName: 'Run build'
env:
IncludeUwp: true
Expand All @@ -27,7 +27,7 @@ steps:
- ${{ else }}:
- powershell: |
$env:SigningCertificate = $null
.\PCbuild\build.bat -v -p $(Platform) --pgo $(ExtraOptions)
.\PCbuild\build.bat -v -p $(Platform) --pgo $(ExtraOptions) $(TailcallingOption)
displayName: 'Run build with PGO'
env:
IncludeUwp: true
Expand Down
15 changes: 15 additions & 0 deletions windows-release/stage-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ parameters:
ToBeSigned: false
ExtraOptions: ''
ExtraOptionsFreethreaded: '--disable-gil'
TailcallingOption: ''

jobs:
- job: Build_Docs
Expand Down Expand Up @@ -52,6 +53,7 @@ jobs:
Configuration: Release
_HostPython: .\python
ExtraOptions: ${{ parameters.ExtraOptions }}
TailcallingOption: ''
${{ if eq(parameters.ToBeSigned, 'true') }}:
Artifact: unsigned_win32
${{ else }}:
Expand All @@ -63,6 +65,7 @@ jobs:
Configuration: Debug
_HostPython: .\python
ExtraOptions: ${{ parameters.ExtraOptions }}
TailcallingOption: ''
Artifact: bin_win32_d
${{ if ne(parameters.DoPGO, 'true') }}:
amd64:
Expand All @@ -72,6 +75,7 @@ jobs:
Configuration: Release
_HostPython: .\python
ExtraOptions: ${{ parameters.ExtraOptions }}
TailcallingOption: ${{ parameters.TailcallingOption }}
${{ if eq(parameters.ToBeSigned, 'true') }}:
Artifact: unsigned_amd64
${{ else }}:
Expand All @@ -83,6 +87,7 @@ jobs:
Configuration: Debug
_HostPython: .\python
ExtraOptions: ${{ parameters.ExtraOptions }}
TailcallingOption: ''
Artifact: bin_amd64_d
${{ if or(ne(parameters.DoPGO, 'true'), ne(parameters.DoPGOARM64, 'true')) }}:
arm64:
Expand All @@ -92,6 +97,7 @@ jobs:
Configuration: Release
_HostPython: python
ExtraOptions: ${{ parameters.ExtraOptions }}
TailcallingOption: ''
${{ if eq(parameters.ToBeSigned, 'true') }}:
Artifact: unsigned_arm64
${{ else }}:
Expand All @@ -103,6 +109,7 @@ jobs:
Configuration: Debug
_HostPython: python
ExtraOptions: ${{ parameters.ExtraOptions }}
TailcallingOption: ''
Artifact: bin_arm64_d
${{ if eq(parameters.DoFreethreaded, 'true') }}:
win32_t:
Expand All @@ -112,6 +119,7 @@ jobs:
Configuration: Release
_HostPython: .\python
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }}
TailcallingOption: ''
${{ if eq(parameters.ToBeSigned, 'true') }}:
Artifact: unsigned_win32_t
${{ else }}:
Expand All @@ -123,6 +131,7 @@ jobs:
Configuration: Debug
_HostPython: .\python
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }}
TailcallingOption: ''
Artifact: bin_win32_td
${{ if ne(parameters.DoPGO, 'true') }}:
amd64_t:
Expand All @@ -132,6 +141,7 @@ jobs:
Configuration: Release
_HostPython: .\python
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }}
TailcallingOption: ${{ parameters.TailcallingOption }}
${{ if eq(parameters.ToBeSigned, 'true') }}:
Artifact: unsigned_amd64_t
${{ else }}:
Expand All @@ -143,6 +153,7 @@ jobs:
Configuration: Debug
_HostPython: .\python
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }}
TailcallingOption: ''
Artifact: bin_amd64_td
${{ if or(ne(parameters.DoPGO, 'true'), ne(parameters.DoPGOARM64, 'true')) }}:
arm64_t:
Expand All @@ -152,6 +163,7 @@ jobs:
Configuration: Release
_HostPython: python
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }}
TailcallingOption: ''
${{ if eq(parameters.ToBeSigned, 'true') }}:
Artifact: unsigned_arm64_t
${{ else }}:
Expand All @@ -163,6 +175,7 @@ jobs:
Configuration: Debug
_HostPython: python
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }}
TailcallingOption: ''
Artifact: bin_arm64_td

steps:
Expand All @@ -186,6 +199,7 @@ jobs:
_HostPython: .\python
PythonExePattern: python.exe
ExtraOptions: ${{ parameters.ExtraOptions }}
TailcallingOption: ${{ parameters.TailcallingOption }}
${{ if eq(parameters.ToBeSigned, 'true') }}:
Artifact: unsigned_amd64
${{ else }}:
Expand All @@ -198,6 +212,7 @@ jobs:
_HostPython: .\python
PythonExePattern: python3*t.exe
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }}
TailcallingOption: ${{ parameters.TailcallingOption }}
${{ if eq(parameters.ToBeSigned, 'true') }}:
Artifact: unsigned_amd64_t
${{ else }}:
Expand Down
Loading