Skip to content

Commit 10ac0f4

Browse files
committed
ci(buildrelease): build ARM64
1 parent 5707cb6 commit 10ac0f4

File tree

3 files changed

+73
-21
lines changed

3 files changed

+73
-21
lines changed

.github/workflows/autoupdate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ jobs:
4646
git tag \
4747
-a ${{ steps.get-python-version.outputs.python_version }} \
4848
-m "${{ steps.get-python-version.outputs.python_version }}"
49-
git push --tags
49+
git push origin HEAD --tags

.github/workflows/buildrelease.yml

Lines changed: 64 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,78 @@ on:
55
tags:
66
- 3.12.*
77

8+
env:
9+
GITHUB_TOKEN: ${{ secrets.COATL_BOT_GH_TOKEN }}
10+
811
jobs:
12+
download:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Download Python 3.12
16+
run: |
17+
curl -O "https://www.python.org/ftp/python/${{ github.ref_name }}/Python-${{ github.ref_name }}.tgz"
18+
shell: bash
19+
20+
- name: Upload tarball
21+
uses: actions/upload-artifact@v4
22+
with:
23+
name: python-tarball
24+
path: Python-${{ github.ref_name }}.tgz
25+
if-no-files-found: error
26+
27+
gh-release:
28+
needs: download
29+
runs-on: ubuntu-latest
30+
steps:
31+
- name: Checkout repository
32+
uses: actions/checkout@v4
33+
with:
34+
fetch-depth: 0
35+
token: ${{ env.GITHUB_TOKEN }}
36+
37+
- name: Create GitHub release
38+
run: |
39+
gh release create "${{ github.ref_name }}" \
40+
--title "${{ github.ref_name }}" \
41+
--notes "Automated release for version ${{ github.ref_name }}"
42+
shell: bash
43+
944
buildrelease:
10-
env:
11-
GITHUB_TOKEN: ${{ secrets.COATL_BOT_GH_TOKEN }}
12-
runs-on: windows-latest
45+
needs:
46+
- download
47+
- gh-release
48+
strategy:
49+
matrix:
50+
include:
51+
- os: windows-latest
52+
build-arch: '-x64'
53+
arch: 'amd64'
54+
exe-suffix: '-amd64.exe'
55+
- os: windows-latest
56+
build-arch: '-x86'
57+
arch: 'win32'
58+
exe-suffix: '.exe'
59+
- os: windows-11-arm
60+
build-arch: '-ARM64'
61+
arch: 'arm64'
62+
exe-suffix: '-arm64.exe'
63+
runs-on: ${{ matrix.os }}
1364
steps:
1465
- name: Checkout repository
1566
uses: actions/checkout@v4
1667
with:
1768
fetch-depth: 0
1869
token: ${{ env.GITHUB_TOKEN }}
1970

20-
- name: Download Python 3.12
71+
- name: Download tarball
72+
uses: actions/download-artifact@v4
73+
with:
74+
name: python-tarball
75+
path: .
76+
77+
- name: Extract tarball
2178
run: |
22-
curl -O "https://www.python.org/ftp/python/${{ github.ref_name }}/Python-${{ github.ref_name }}.tgz"
23-
tar -xzf "Python-${{ github.ref_name }}.tgz"
79+
tar -xzf Python-${{ github.ref_name }}.tgz
2480
shell: bash
2581

2682
- uses: actions/setup-python@v5
@@ -47,26 +103,14 @@ jobs:
47103

48104
- name: Building ...
49105
run: |
50-
.\Tools\msi\buildrelease.bat
106+
.\Tools\msi\buildrelease.bat ${{ matrix.build-arch }}
51107
working-directory: Python-${{ github.ref_name }}
52108
shell: powershell
53109

54-
- name: Create GitHub release
55-
run: |
56-
gh release create "${{ github.ref_name }}" \
57-
--title "${{ github.ref_name }}" \
58-
--notes "Automated release for version ${{ github.ref_name }}"
59-
shell: bash
60-
61110
- name: Upload artifacts to GitHub release
62111
run: |
63112
gh release upload "${{ github.ref_name }}" `
64113
--clobber `
65-
.\PCbuild\win32\en-us\python-${{ github.ref_name }}.exe `
66-
.\PCbuild\win32\en-us\python-${{ github.ref_name }}-embed-win32.zip `
67-
.\PCbuild\win32\en-us\pythonx86.${{ github.ref_name }}.nupkg `
68-
.\PCbuild\amd64\en-us\python.${{ github.ref_name }}.nupkg `
69-
.\PCbuild\amd64\en-us\python-${{ github.ref_name }}-amd64.exe `
70-
.\PCbuild\amd64\en-us\python-${{ github.ref_name }}-embed-amd64.zip
114+
.\PCbuild\${{ matrix.arch }}\en-us\python-${{ github.ref_name }}${{ matrix.exe-suffix }}
71115
working-directory: Python-${{ github.ref_name }}
72116
shell: powershell

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ This repository provides binary installers for Python 3.12 on Windows.
1010

1111
Python 3.12 has reached the end of its regular bugfix support (see: [PEP 693]), obtaining official installers can become challenging. This repository aims to bridge that gap by hosting the necessary installers for Windows users.
1212

13+
## Available Installers
14+
15+
| Architecture | Installer | Notes |
16+
|--------------|---------------------------|--------------------------------------|
17+
| x86 | `python-3.12.*.exe` | For 32-bit systems |
18+
| x64 | `python-3.12.*-amd64.exe` | For 64-bit systems (Recommended) |
19+
| ARM64 | `python-3.12.*-arm64.exe` | For ARM-based systems (Experimental) |
20+
1321
## Usage
1422

1523
Download the appropriate installer for your system from the repository's releases section and follow the standard installation process for Python on Windows.

0 commit comments

Comments
 (0)