Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
16 changes: 16 additions & 0 deletions windows-release/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,10 @@ parameters:
displayName: "Build the JIT compiler for free-threaded builds (not used yet)"
type: boolean
default: false
- name: vmImage
displayName: "VM Image"
type: string
default: windows-2025

resources:
pipelines:
Expand Down Expand Up @@ -156,6 +160,8 @@ stages:
- ${{ if and(eq(parameters.BuildToPublish, 'current'), eq(parameters.BuildToPackage, 'current')) }}:
- stage: Build
displayName: Build binaries
pool:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ARM doesn't (yet) have windows-2025-vs2026 we'd need for tailcalling on x64 (and we won't need it for ARM, anyway. The arm vmImage is only needed for Build_Python_PGO_1 and Build_Python_PGO_2).
Can this still be parameterized or do we now have a one-fits-all vmImage for all things in stage-build.yml?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only ARM image being used in this build is to collect the profile, which doesn't require any tools at all (besides Git).

The GitHub windows-11-arm image isn't available on Azure Pipelines (testing that was the main reason I started this PR). Making it easier to update the image for the whole pipeline seemed worth keeping, even without that.

Copy link
Member

@chris-eibl chris-eibl Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, sorry, I've missed that for the PGO step

      pool:
        name: 'Windows ARM64'

is still used. My bad. That's a perfect prearrangement for the tailcalling switch to windows-2025-vs2026.

vmImage: ${{ parameters.vmImage }}
jobs:
- template: stage-build.yml
parameters:
Expand All @@ -180,6 +186,8 @@ stages:
- stage: Sign
displayName: Sign binaries
dependsOn: Build
pool:
vmImage: ${{ parameters.vmImage }}
jobs:
- template: stage-sign.yml
parameters:
Expand All @@ -194,6 +202,8 @@ stages:
${{ else }}:
displayName: Generate layouts from prior build
dependsOn: []
pool:
vmImage: ${{ parameters.vmImage }}
jobs:
- template: stage-layout-full.yml
parameters:
Expand Down Expand Up @@ -232,6 +242,8 @@ stages:
- stage: Pack
dependsOn: Layout
displayName: Pack
pool:
vmImage: ${{ parameters.vmImage }}
jobs:
#- ${{ if eq(parameters.DoEmbed, 'true') }}:
# - template: stage-pack-embed.yml
Expand Down Expand Up @@ -263,6 +275,8 @@ stages:

- stage: Test
dependsOn: Pack
pool:
vmImage: ${{ parameters.vmImage }}
jobs:
- ${{ if eq(parameters.DoEmbed, 'true') }}:
- template: stage-test-embed.yml
Expand All @@ -286,6 +300,8 @@ stages:
dependsOn:
- ${{ if eq(parameters.BuildToPublish, 'current') }}:
- Test
pool:
vmImage: ${{ parameters.vmImage }}
jobs:
- ${{ if eq(parameters.DoPyManager, 'true') }}:
- template: stage-publish-pymanager.yml
Expand Down
17 changes: 0 additions & 17 deletions windows-release/stage-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ parameters:
jobs:
- job: Build_Docs
displayName: Docs build
pool:
vmImage: windows-2022

workspace:
clean: all
Expand Down Expand Up @@ -40,9 +38,6 @@ jobs:
- job: Build_Python
displayName: Python build

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down Expand Up @@ -176,9 +171,6 @@ jobs:
- job: Build_Python_PGO_Native
displayName: Python PGO build

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down Expand Up @@ -219,9 +211,6 @@ jobs:
- job: Build_Python_PGO_1
displayName: Python PGO build

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down Expand Up @@ -299,9 +288,6 @@ jobs:
displayName: Merge PGO profile
dependsOn: Build_Python_PGO_2

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down Expand Up @@ -339,9 +325,6 @@ jobs:
- job: TclTk_Lib
displayName: Publish Tcl/Tk Library

pool:
vmImage: windows-2022

variables:
IncludeLLVM: false

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-layout-embed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ jobs:
- job: Make_Embed_Layout
displayName: Make embeddable layout

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-layout-full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ jobs:
- job: Make_Layouts
displayName: Make layouts

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-layout-msix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ jobs:
- job: Make_MSIX_Layout
displayName: Make MSIX layout

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-layout-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ jobs:
- job: Make_Nuget_Layout
displayName: Make Nuget layout

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-layout-pymanager.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ jobs:
- job: Make_PyManager_Layouts
displayName: Make PyManager layouts

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-layout-symbols.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ jobs:
- job: Layout_Symbols
displayName: Make symbols layout

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-msi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ jobs:
- job: Make_MSI
displayName: Make MSI

pool:
vmImage: windows-2022

variables:
- ${{ if eq(parameters.SigningCertificate, 'PythonSoftwareFoundation') }}:
- group: CPythonSign
Expand Down
6 changes: 0 additions & 6 deletions windows-release/stage-pack-msix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ jobs:
- job: Pack_MSIX
displayName: Pack MSIX bundles

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down Expand Up @@ -95,9 +92,6 @@ jobs:
dependsOn:
- Pack_MSIX

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-pack-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ jobs:
- job: Pack_Nuget
displayName: Pack Nuget bundles

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-pack-pymanager.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@ jobs:
- job: Pack_PyManager
displayName: Pack PyManager bundle

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-publish-nugetorg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ jobs:
displayName: Publish Nuget packages
condition: and(succeeded(), ne(variables['SkipNugetPublish'], 'true'))

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-publish-pymanager.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@ jobs:
displayName: Publish PyManager packages to python.org
condition: and(succeeded(), ne(variables['SkipPythonOrgPublish'], 'true'))

pool:
vmImage: windows-2022

variables:
- group: PythonOrgPublish

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-publish-pythonorg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ jobs:
displayName: Publish python.org packages
condition: and(succeeded(), ne(variables['SkipPythonOrgPublish'], 'true'))

pool:
vmImage: windows-2022

variables:
- group: PythonOrgPublish

Expand Down
6 changes: 0 additions & 6 deletions windows-release/stage-sign.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ jobs:
- job: Sign_Files
displayName: Sign Python binaries

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down Expand Up @@ -80,9 +77,6 @@ jobs:
- job: Mark_Unsigned
displayName: Tag unsigned build

pool:
vmImage: windows-2022

steps:
- checkout: none

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-test-embed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ jobs:
- job: Test_Embed
displayName: Test Embed

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-test-msi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ jobs:
- job: Test_MSI
displayName: Test MSI

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-test-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ jobs:
- job: Test_Nuget
displayName: Test Nuget

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
3 changes: 0 additions & 3 deletions windows-release/stage-test-pymanager.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ jobs:
- job: Test_PyManager
displayName: Test PyManager

pool:
vmImage: windows-2022

workspace:
clean: all

Expand Down
Loading