Skip to content

Commit 03d279f

Browse files
committed
Merge branch 'main' into gh-70
2 parents 36be4ce + d2d8e2e commit 03d279f

File tree

12 files changed

+445
-13
lines changed

12 files changed

+445
-13
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: Ask a question
3+
about: Not sure it's a bug? Ask us here
4+
title: ''
5+
labels: question
6+
assignees: ''
7+
8+
---
9+
10+
# Background
11+
12+
Please let us know how you installed the Python install manager, and/or what you are trying to do. A lot of questions are answered at https://docs.python.org/dev/using/windows.html.
13+
14+
# Details
15+
16+
Any more details about what you've tried, what you expected to happen, or what you would like to see.
17+
18+
Got logs? (Check your `%TEMP%` directory.) Drag-and-drop files to attach them here, or paste relevant output in a code block.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Additional context**
24+
If you have log files (check your `%TEMP%` directory!), drag-and-drop them here to include them.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/workflows/build.yml

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,30 @@ jobs:
3030
}
3131
shell: powershell
3232

33-
- name: Set up Python 3.14
34-
uses: actions/setup-python@v5
35-
with:
36-
python-version: 3.14-dev
33+
#- name: Set up Python 3.14
34+
# uses: actions/setup-python@v5
35+
# with:
36+
# python-version: 3.14-dev
37+
38+
# We move faster than GitHub's Python runtimes, so use NuGet instead
39+
# One day we can use ourselves to download Python, but not yet...
40+
- name: Set up NuGet
41+
uses: nuget/[email protected]
42+
43+
- name: Set up Python 3.14.0b1
44+
run: |
45+
nuget install python -Version 3.14.0-b1 -x -o .
46+
$py = Get-Item python\tools
47+
Write-Host "Adding $py to PATH"
48+
"$py" | Out-File $env:GITHUB_PATH -Encoding UTF8 -Append
49+
working-directory: ${{ runner.temp }}
50+
51+
- name: Check Python version is 3.14.0b1
52+
run: >
53+
python -c "import sys;
54+
print(sys.version);
55+
print(sys.executable);
56+
sys.exit(0 if sys.version_info[:5] == (3, 14, 0, 'beta', 1) else 1)"
3757
3858
- name: Install build dependencies
3959
run: python -m pip install "pymsbuild>=1.2.0b1"

_msbuild.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55

66
DLL_NAME = "python314"
7-
EMBED_URL = "https://www.python.org/ftp/python/3.14.0/python-3.14.0a7-embed-amd64.zip"
7+
EMBED_URL = "https://www.python.org/ftp/python/3.14.0/python-3.14.0b1-embed-amd64.zip"
88

99
def can_embed(tag):
1010
"""Return False if tag doesn't match DLL_NAME and EMBED_URL.

ci/repartition-index.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Repartitioning runs on Azure Pipelines, because that's where we have SSH
2+
# access to the download server.
3+
4+
name: $(Date:yyyyMMdd).$(Rev:r)
5+
6+
# Do not run automatically
7+
trigger: none
8+
9+
10+
parameters:
11+
- name: Publish
12+
displayName: "Publish"
13+
type: boolean
14+
default: false
15+
- name: TestPublish
16+
displayName: "Run all steps without publishing"
17+
type: boolean
18+
default: false
19+
20+
stages:
21+
- stage: PyManagerIndexPartition
22+
displayName: 'Repartition PyManager Index'
23+
24+
jobs:
25+
- job: Repartition
26+
27+
pool:
28+
vmImage: 'windows-latest'
29+
30+
variables:
31+
- group: PythonOrgPublish
32+
33+
steps:
34+
- checkout: self
35+
36+
- task: NugetToolInstaller@0
37+
displayName: 'Install Nuget'
38+
39+
- powershell: |
40+
nuget install -o host_python -x -noninteractive -prerelease python
41+
Write-Host "##vso[task.prependpath]$(gi host_python\python\tools)"
42+
displayName: 'Install host Python'
43+
workingDirectory: $(Build.BinariesDirectory)
44+
45+
- powershell: |
46+
cd (mkdir -Force index)
47+
python "$(Build.SourcesDirectory)\scripts\repartition-index.py" --windows-default
48+
displayName: 'Repartition index'
49+
workingDirectory: $(Build.BinariesDirectory)
50+
51+
- publish: $(Build.BinariesDirectory)\index
52+
artifact: index
53+
displayName: Publish index artifact
54+
55+
- ${{ if or(eq(parameters.Publish, 'true'), eq(parameters.TestPublish, 'true')) }}:
56+
- ${{ if ne(parameters.TestPublish, 'true') }}:
57+
- task: DownloadSecureFile@1
58+
name: sshkey
59+
inputs:
60+
secureFile: pydotorg-ssh.ppk
61+
displayName: 'Download PuTTY key'
62+
63+
- powershell: |
64+
git clone https://github.com/python/cpython-bin-deps --branch putty --single-branch --depth 1 --progress -v "putty"
65+
"##vso[task.prependpath]$(gi putty)"
66+
workingDirectory: $(Pipeline.Workspace)
67+
displayName: 'Download PuTTY binaries'
68+
69+
- powershell: |
70+
python ci\upload.py
71+
displayName: 'Publish packages'
72+
env:
73+
UPLOAD_URL: $(PyDotOrgUrlPrefix)python/
74+
UPLOAD_DIR: $(Build.BinariesDirectory)\index
75+
UPLOAD_URL_PREFIX: $(PyDotOrgUrlPrefix)
76+
UPLOAD_PATH_PREFIX: $(PyDotOrgUploadPathPrefix)
77+
UPLOAD_HOST: $(PyDotOrgServer)
78+
UPLOAD_HOST_KEY: $(PyDotOrgHostKey)
79+
UPLOAD_USER: $(PyDotOrgUsername)
80+
UPLOADING_INDEX: true
81+
${{ if eq(parameters.TestPublish, 'true') }}:
82+
NO_UPLOAD: 1
83+
${{ else }}:
84+
UPLOAD_KEYFILE: $(sshkey.secureFilePath)

ci/upload.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@
99
UPLOAD_PATH_PREFIX = os.getenv("UPLOAD_PATH_PREFIX", "/srv/www.python.org/ftp/")
1010
UPLOAD_URL = os.getenv("UPLOAD_URL")
1111
UPLOAD_DIR = os.getenv("UPLOAD_DIR")
12-
# A version will be inserted before the extension later on
13-
MANIFEST_FILE = os.getenv("MANIFEST_FILE")
1412
UPLOAD_HOST = os.getenv("UPLOAD_HOST", "")
1513
UPLOAD_HOST_KEY = os.getenv("UPLOAD_HOST_KEY", "")
1614
UPLOAD_KEYFILE = os.getenv("UPLOAD_KEYFILE", "")
1715
UPLOAD_USER = os.getenv("UPLOAD_USER", "")
1816
NO_UPLOAD = os.getenv("NO_UPLOAD", "no")[:1].lower() in "yt1"
1917

18+
# Set to 'true' when updating index.json, rather than the app
19+
UPLOADING_INDEX = os.getenv("UPLOADING_INDEX", "no")[:1].lower() in "yt1"
20+
2021

2122
if not UPLOAD_URL:
2223
print("##[error]Cannot upload without UPLOAD_URL")
@@ -179,10 +180,15 @@ def purge(url):
179180

180181
UPLOADS = []
181182

182-
for pat in ("python-manager-*.msix", "python-manager-*.msi", "pymanager.appinstaller"):
183-
for f in UPLOAD_DIR.glob(pat):
183+
if UPLOADING_INDEX:
184+
for f in UPLOAD_DIR.glob("*.json"):
184185
u = UPLOAD_URL + f.name
185186
UPLOADS.append((f, u, url2path(u)))
187+
else:
188+
for pat in ("python-manager-*.msix", "python-manager-*.msi", "pymanager.appinstaller"):
189+
for f in UPLOAD_DIR.glob(pat):
190+
u = UPLOAD_URL + f.name
191+
UPLOADS.append((f, u, url2path(u)))
186192

187193
print("Planned uploads:")
188194
for f, u, p in UPLOADS:

0 commit comments

Comments
 (0)