From 6855f1c7ad11c1ed8f9b769ee0bd4d38b872c0f9 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Tue, 6 May 2025 12:43:35 +0100 Subject: [PATCH 01/12] Update PyManager to use 3.14.0b1 runtime --- _msbuild.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_msbuild.py b/_msbuild.py index 2d183ab..d191698 100644 --- a/_msbuild.py +++ b/_msbuild.py @@ -4,7 +4,7 @@ DLL_NAME = "python314" -EMBED_URL = "https://www.python.org/ftp/python/3.14.0/python-3.14.0a7-embed-amd64.zip" +EMBED_URL = "https://www.python.org/ftp/python/3.14.0/python-3.14.0b1-embed-amd64.zip" def can_embed(tag): """Return False if tag doesn't match DLL_NAME and EMBED_URL. From 17be0c34cc21b05236122016d1c7f89c4ce7880b Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 16:54:41 +0100 Subject: [PATCH 02/12] Use NuGet in CI to get Python --- .github/workflows/build.yml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4f3b94a..e4d2b94 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,10 +30,21 @@ jobs: } shell: powershell - - name: Set up Python 3.14 - uses: actions/setup-python@v5 - with: - python-version: 3.14-dev + #- name: Set up Python 3.14 + # uses: actions/setup-python@v5 + # with: + # python-version: 3.14-dev + + # We move faster than GitHub's Python runtimes, so use NuGet instead + # One day we can use ourselves to download Python, but not yet... + - name: Set up NuGet + uses: nuget/setup-nuget@v2.0.1 + + - name: Set up Python 3.14.0b1 + run: | + nuget install python -Version 3.14.0-b1 -x -o . + (gi .\python*\tools\python.exe).Parent | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append + working-directory: ${{ runner.temp }} - name: Install build dependencies run: python -m pip install "pymsbuild>=1.2.0b1" From 521832416ed8d3a185455c51e3f641b21f2d6329 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 16:59:16 +0100 Subject: [PATCH 03/12] Prepend PATH and check version --- .github/workflows/build.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e4d2b94..e9346f5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,9 +43,14 @@ jobs: - name: Set up Python 3.14.0b1 run: | nuget install python -Version 3.14.0-b1 -x -o . - (gi .\python*\tools\python.exe).Parent | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append + $old = Get-Content $env:GITHUB_PATH + (gi .\python*\tools\python.exe).Parent | Out-File $env:GITHUB_PATH -Encoding UTF8 + $old | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append working-directory: ${{ runner.temp }} + - name: Check Python version + run: python -c "import sys; sys.exit(0 if sys.version_info[:3] == (3, 14, 0) else 1)" + - name: Install build dependencies run: python -m pip install "pymsbuild>=1.2.0b1" From c31b176f4dce2bf89d4866257e9a918d04748f9e Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 17:03:24 +0100 Subject: [PATCH 04/12] Better output when checking --- .github/workflows/build.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e9346f5..1c5cfd9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,10 +46,16 @@ jobs: $old = Get-Content $env:GITHUB_PATH (gi .\python*\tools\python.exe).Parent | Out-File $env:GITHUB_PATH -Encoding UTF8 $old | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append + gc $env:GITHUB_PATH working-directory: ${{ runner.temp }} - name: Check Python version - run: python -c "import sys; sys.exit(0 if sys.version_info[:3] == (3, 14, 0) else 1)" + run: > + python -c " + import sys; + print(sys.version); + print(sys.executable); + sys.exit(0 if sys.version_info[:3] == (3, 14, 0) else 1)" - name: Install build dependencies run: python -m pip install "pymsbuild>=1.2.0b1" From 33f040bd8201c857c9024b715477d14ac083d7e4 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 17:06:36 +0100 Subject: [PATCH 05/12] Better output when checking --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1c5cfd9..4df514e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,13 +46,13 @@ jobs: $old = Get-Content $env:GITHUB_PATH (gi .\python*\tools\python.exe).Parent | Out-File $env:GITHUB_PATH -Encoding UTF8 $old | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append - gc $env:GITHUB_PATH + Write-Host "PATH entries:" + Write-Host (gc $env:GITHUB_PATH) working-directory: ${{ runner.temp }} - name: Check Python version run: > - python -c " - import sys; + python -c "import sys; print(sys.version); print(sys.executable); sys.exit(0 if sys.version_info[:3] == (3, 14, 0) else 1)" From 88cab6a8967432ce1dfd75e5187148aaf9d7c022 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 17:10:59 +0100 Subject: [PATCH 06/12] In case it's fussy about syntax --- .github/workflows/build.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4df514e..fbf19bd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,11 +43,13 @@ jobs: - name: Set up Python 3.14.0b1 run: | nuget install python -Version 3.14.0-b1 -x -o . + $py = Get-Item .\python*\tools\python.exe $old = Get-Content $env:GITHUB_PATH - (gi .\python*\tools\python.exe).Parent | Out-File $env:GITHUB_PATH -Encoding UTF8 + Write-Host "Adding $($py.Parent) to GITHUB_PATH" + "$($py.Parent)" | Out-File $env:GITHUB_PATH -Encoding UTF8 $old | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append Write-Host "PATH entries:" - Write-Host (gc $env:GITHUB_PATH) + Write-Host (Get-Content $env:GITHUB_PATH) working-directory: ${{ runner.temp }} - name: Check Python version From 13ab8b6b316f0165e1cf093e60ad213bceb453fb Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 17:14:21 +0100 Subject: [PATCH 07/12] In case it's fussy about syntax --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fbf19bd..4fa1c3b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,7 +43,7 @@ jobs: - name: Set up Python 3.14.0b1 run: | nuget install python -Version 3.14.0-b1 -x -o . - $py = Get-Item .\python*\tools\python.exe + $py = Get-ChildItem -Recurse .\*\tools\python.exe | select -Last 1 $old = Get-Content $env:GITHUB_PATH Write-Host "Adding $($py.Parent) to GITHUB_PATH" "$($py.Parent)" | Out-File $env:GITHUB_PATH -Encoding UTF8 From 739ad3593d4a0aa58ab1fd49c5c03ac4101a1b4b Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 17:17:24 +0100 Subject: [PATCH 08/12] Just list the directory --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4fa1c3b..f7178d7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,6 +43,7 @@ jobs: - name: Set up Python 3.14.0b1 run: | nuget install python -Version 3.14.0-b1 -x -o . + dir -r $py = Get-ChildItem -Recurse .\*\tools\python.exe | select -Last 1 $old = Get-Content $env:GITHUB_PATH Write-Host "Adding $($py.Parent) to GITHUB_PATH" From e0ad78f7775916a584488d3b82d73e2f6ea5aaed Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 17:20:40 +0100 Subject: [PATCH 09/12] Fixed path --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f7178d7..15bdb1d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,9 +44,9 @@ jobs: run: | nuget install python -Version 3.14.0-b1 -x -o . dir -r - $py = Get-ChildItem -Recurse .\*\tools\python.exe | select -Last 1 + $py = Get-Item python\tools\python.exe $old = Get-Content $env:GITHUB_PATH - Write-Host "Adding $($py.Parent) to GITHUB_PATH" + Write-Host "Adding $($py.Parent) to GITHUB_PATH (${env:GITHUB_PATH})" "$($py.Parent)" | Out-File $env:GITHUB_PATH -Encoding UTF8 $old | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append Write-Host "PATH entries:" From 560314eb93f63ca230d7e4debcce3899b76b20e4 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 17:22:11 +0100 Subject: [PATCH 10/12] Fixed path --- .github/workflows/build.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 15bdb1d..29add56 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,12 +43,9 @@ jobs: - name: Set up Python 3.14.0b1 run: | nuget install python -Version 3.14.0-b1 -x -o . - dir -r - $py = Get-Item python\tools\python.exe - $old = Get-Content $env:GITHUB_PATH - Write-Host "Adding $($py.Parent) to GITHUB_PATH (${env:GITHUB_PATH})" - "$($py.Parent)" | Out-File $env:GITHUB_PATH -Encoding UTF8 - $old | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append + $py = Get-Item python\tools + Write-Host "Adding $py to GITHUB_PATH (${env:GITHUB_PATH})" + $py" | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append Write-Host "PATH entries:" Write-Host (Get-Content $env:GITHUB_PATH) working-directory: ${{ runner.temp }} From a7fa650fcc1c696ecaf2d80410a4372978d4da41 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 17:23:11 +0100 Subject: [PATCH 11/12] Fixed quote --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 29add56..eda7bf5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,7 +45,7 @@ jobs: nuget install python -Version 3.14.0-b1 -x -o . $py = Get-Item python\tools Write-Host "Adding $py to GITHUB_PATH (${env:GITHUB_PATH})" - $py" | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append + "$py" | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append Write-Host "PATH entries:" Write-Host (Get-Content $env:GITHUB_PATH) working-directory: ${{ runner.temp }} From 727169d4578989c181a54ac486c9b6b3b29bfe95 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 7 May 2025 17:29:54 +0100 Subject: [PATCH 12/12] Minor cleanups --- .github/workflows/build.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eda7bf5..f5571ef 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,18 +44,16 @@ jobs: run: | nuget install python -Version 3.14.0-b1 -x -o . $py = Get-Item python\tools - Write-Host "Adding $py to GITHUB_PATH (${env:GITHUB_PATH})" + Write-Host "Adding $py to PATH" "$py" | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append - Write-Host "PATH entries:" - Write-Host (Get-Content $env:GITHUB_PATH) working-directory: ${{ runner.temp }} - - name: Check Python version + - name: Check Python version is 3.14.0b1 run: > python -c "import sys; print(sys.version); print(sys.executable); - sys.exit(0 if sys.version_info[:3] == (3, 14, 0) else 1)" + sys.exit(0 if sys.version_info[:5] == (3, 14, 0, 'beta', 1) else 1)" - name: Install build dependencies run: python -m pip install "pymsbuild>=1.2.0b1"