Skip to content

Commit 5347ca5

Browse files
committed
change: Changed names of runners/jobs, removed self-hosted runner
1 parent ed1a46f commit 5347ca5

File tree

3 files changed

+88
-45
lines changed

3 files changed

+88
-45
lines changed

.github/workflows/build-wheels-defined.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,13 +221,18 @@ jobs:
221221
needs: get-supported-versions
222222
name: linux aarch32 (armv7)
223223
if: ${{ inputs.os_linux_armv7 }}
224-
runs-on: linux-armv7-self-hosted
224+
runs-on: ubuntu-latest # Use GitHub-hosted runner with QEMU
225225
strategy:
226226
fail-fast: false
227227
matrix:
228228
python-version: ${{ fromJson(needs.get-supported-versions.outputs.supported_python) }}
229229
container: python:${{ matrix.python-version }}-bookworm
230230
steps:
231+
- name: Set up QEMU for ARMv7
232+
uses: docker/setup-qemu-action@v3
233+
with:
234+
platforms: linux/arm/v7
235+
231236
- name: Checkout repository
232237
uses: actions/checkout@v4
233238

.github/workflows/build-wheels-platforms.yml

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,33 +17,51 @@ jobs:
1717
build-wheels:
1818
needs: get-supported-versions
1919
name: Build for ${{ matrix.os }} (Python ${{matrix.python-version}})
20-
runs-on: ${{ matrix.os }}
20+
runs-on: ${{ matrix.runner }}
2121
strategy:
2222
fail-fast: false
2323
matrix:
24-
os: # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
25-
- windows-latest
26-
- ubuntu-latest
27-
- macos-15-intel # MacOS x86_64
28-
- macos-latest # MacOS arm64 (M1)
29-
- ubuntu-24.04-arm
30-
- linux-armv7-self-hosted
24+
os: # Platform names for identification
25+
- Windows
26+
- Linux x86_64
27+
- macOS Intel
28+
- macOS ARM
29+
- Linux ARM64
30+
- Linux ARMv7
3131
include:
32-
- os: linux-armv7-self-hosted
32+
- os: Windows
33+
runner: windows-latest
34+
- os: Linux x86_64
35+
runner: ubuntu-latest
36+
- os: macOS Intel
37+
runner: macos-15-intel
38+
- os: macOS ARM
39+
runner: macos-latest
40+
- os: Linux ARM64
41+
runner: ubuntu-24.04-arm
42+
- os: Linux ARMv7
43+
runner: ubuntu-latest # Use GitHub-hosted runner with QEMU
3344
CONTAINER: python:${{ needs.get-supported-versions.outputs.oldest_supported_python }}-bookworm
45+
setup_qemu: true
3446
python-version: ['${{ needs.get-supported-versions.outputs.oldest_supported_python }}']
3547

3648
# Use python container on ARM
3749
container: ${{ matrix.CONTAINER }}
3850

3951
steps:
52+
- name: Set up QEMU for ARMv7
53+
if: matrix.setup_qemu
54+
uses: docker/setup-qemu-action@v3
55+
with:
56+
platforms: linux/arm/v7
57+
4058
- name: OS info
41-
if: matrix.os != 'windows-latest'
59+
if: matrix.os != 'Windows'
4260
run: |
4361
echo "Operating System: ${{ runner.os }}"
4462
echo "Architecture: $(uname -m)"
4563
- name: OS info
46-
if: matrix.os == 'windows-latest'
64+
if: matrix.os == 'Windows'
4765
run: |
4866
echo "Operating System: ${{ runner.os }}"
4967
echo "Architecture: $env:PROCESSOR_ARCHITECTURE"
@@ -60,7 +78,7 @@ jobs:
6078
6179
- name: Setup Python
6280
# Skip setting python on ARM because of missing compatibility: https://github.com/actions/setup-python/issues/108
63-
if: matrix.os != 'linux-armv7-self-hosted'
81+
if: matrix.os != 'Linux ARMv7'
6482
uses: actions/setup-python@v5
6583
with:
6684
python-version: ${{ matrix.python-version }}
@@ -79,34 +97,34 @@ jobs:
7997
8098
8199
- name: Install additional OS dependencies - Ubuntu
82-
if: matrix.os == 'ubuntu-latest'
100+
if: matrix.os == 'Linux x86_64'
83101
run: os_dependencies/ubuntu.sh
84102

85103
- name: Install additional OS dependencies - MacOS
86-
if: matrix.os == 'macos-latest' || matrix.os == 'macos-15-intel'
104+
if: matrix.os == 'macOS ARM' || matrix.os == 'macOS Intel'
87105
run: os_dependencies/macos.sh
88106

89107
- name: Install additional OS dependencies - Linux ARM
90-
if: matrix.os == 'linux-armv7-self-hosted' || matrix.os == 'ubuntu-24.04-arm'
108+
if: matrix.os == 'Linux ARMv7' || matrix.os == 'Linux ARM64'
91109
run: os_dependencies/linux_arm.sh
92110

93111
- name: Install additional OS dependencies - Windows
94-
if: matrix.os == 'windows-latest'
112+
if: matrix.os == 'Windows'
95113
run: powershell -ExecutionPolicy Bypass -File os_dependencies/windows.ps1
96114

97115

98116
- name: Build wheels for IDF
99-
if: matrix.os != 'windows-latest'
117+
if: matrix.os != 'Windows'
100118
run: |
101-
# Source Rust environment for self-hosted ARMv7 runner
102-
if [ "${{ matrix.os }}" = "linux-armv7-self-hosted" ]; then
119+
# Source Rust environment for ARMv7
120+
if [ "${{ matrix.os }}" = "Linux ARMv7" ]; then
103121
. $HOME/.cargo/env
104122
fi
105123
106124
python build_wheels.py
107125
108126
- name: Build wheels for IDF - Windows
109-
if: matrix.os == 'windows-latest'
127+
if: matrix.os == 'Windows'
110128
run: python build_wheels.py
111129

112130
- name: Upload artifacts of downloaded_wheels directory

.github/workflows/build-wheels-python-dependent.yml

Lines changed: 44 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,43 +15,63 @@ on:
1515
jobs:
1616
triage:
1717
name: ${{ matrix.os }} - ${{ matrix.python-version }}
18-
runs-on: ${{ matrix.os }}
18+
runs-on: ${{ matrix.runner }}
1919
strategy:
2020
fail-fast: false
2121
matrix:
2222
os:
23-
- windows-latest
24-
- ubuntu-latest
25-
- macos-15-intel # MacOS x86_64
26-
- macos-latest # MacOS arm64 (M1)
27-
- ubuntu-24.04-arm
28-
- linux-armv7-self-hosted
23+
- Windows
24+
- Linux x86_64
25+
- macOS Intel
26+
- macOS ARM
27+
- Linux ARM64
28+
- Linux ARMv7
29+
include:
30+
- os: Windows
31+
runner: windows-latest
32+
- os: Linux x86_64
33+
runner: ubuntu-latest
34+
- os: macOS Intel
35+
runner: macos-15-intel
36+
- os: macOS ARM
37+
runner: macos-latest
38+
- os: Linux ARM64
39+
runner: ubuntu-24.04-arm
40+
- os: Linux ARMv7
41+
runner: ubuntu-latest # Use GitHub-hosted runner with QEMU
42+
setup_qemu: true
2943
python-version: ${{ fromJson(inputs.supported_python_versions) }}
3044
exclude:
3145
# Exclude oldest supported Python since it's already built in the platform builds
3246
- python-version: ${{ inputs.oldest_supported_python }}
33-
os: windows-latest
47+
os: Windows
3448
- python-version: ${{ inputs.oldest_supported_python }}
35-
os: ubuntu-latest
49+
os: Linux x86_64
3650
- python-version: ${{ inputs.oldest_supported_python }}
37-
os: macos-15-intel
51+
os: macOS Intel
3852
- python-version: ${{ inputs.oldest_supported_python }}
39-
os: macos-latest
53+
os: macOS ARM
4054
- python-version: ${{ inputs.oldest_supported_python }}
41-
os: ubuntu-24.04-arm
55+
os: Linux ARM64
4256
- python-version: ${{ inputs.oldest_supported_python }}
43-
os: linux-armv7-self-hosted
57+
os: Linux ARMv7
4458

4559
# Use python container on ARM - dynamically constructed with bookworm (Debian 12)
46-
container: ${{matrix.os == 'linux-armv7-self-hosted' && format('python:{0}-bookworm', matrix.python-version) || null}}
60+
container: ${{matrix.os == 'Linux ARMv7' && format('python:{0}-bookworm', matrix.python-version) || null}}
4761

4862
steps:
63+
- name: Set up QEMU for ARMv7
64+
if: matrix.setup_qemu
65+
uses: docker/setup-qemu-action@v3
66+
with:
67+
platforms: linux/arm/v7
68+
4969
- name: Checkout repository
5070
uses: actions/checkout@v4
5171

5272
- name: Setup Python
5373
# Skip setting python on ARM because of missing compatibility: https://github.com/actions/setup-python/issues/108
54-
if: matrix.os != 'linux-armv7-self-hosted'
74+
if: matrix.os != 'Linux ARMv7'
5575
uses: actions/setup-python@v5
5676
with:
5777
python-version: ${{ matrix.python-version }}
@@ -67,16 +87,16 @@ jobs:
6787
run: python -m pip install -r build_requirements.txt
6888

6989
- name: Install additional OS dependencies - Ubuntu
70-
if: matrix.os == 'ubuntu-latest'
90+
if: matrix.os == 'Linux x86_64'
7191
run: os_dependencies/ubuntu.sh
7292

7393
- name: Install additional OS dependencies - MacOS
74-
if: matrix.os == 'macos-latest' || matrix.os == 'macos-15-intel'
94+
if: matrix.os == 'macOS ARM' || matrix.os == 'macOS Intel'
7595
run: os_dependencies/macos.sh
7696

7797

7898
- name: Install additional OS dependencies - Linux ARM7
79-
if: matrix.os == 'linux-armv7-self-hosted' || matrix.os == 'ubuntu-24.04-arm'
99+
if: matrix.os == 'Linux ARMv7' || matrix.os == 'Linux ARM64'
80100
run: os_dependencies/linux_arm.sh
81101

82102
- name: Download artifacts
@@ -86,26 +106,26 @@ jobs:
86106
path: dependent_requirements_${{ matrix.os}}
87107

88108
- name: Print requirements
89-
if: matrix.os != 'windows-latest'
109+
if: matrix.os != 'Windows'
90110
run: cat dependent_requirements_${{ matrix.os}}/dependent_requirements.txt
91111

92112
- name: Print requirements - Windows
93-
if: matrix.os == 'windows-latest'
113+
if: matrix.os == 'Windows'
94114
run: type dependent_requirements_${{ matrix.os}}\\dependent_requirements.txt
95115

96116
- name: Build Python dependent wheels for ${{ matrix.python-version }}
97-
if: matrix.os != 'windows-latest'
117+
if: matrix.os != 'Windows'
98118
run: |
99-
# Source Rust environment for self-hosted ARMv7 runner
100-
if [ "${{ matrix.os }}" = "linux-armv7-self-hosted" ]; then
119+
# Source Rust environment for ARMv7
120+
if [ "${{ matrix.os }}" = "Linux ARMv7" ]; then
101121
export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
102122
. $HOME/.cargo/env
103123
fi
104124
105125
python build_wheels_from_file.py dependent_requirements_${{ matrix.os}}
106126
107127
- name: Build Python dependent wheels for ${{ matrix.python-version }} - Windows
108-
if: matrix.os == 'windows-latest'
128+
if: matrix.os == 'Windows'
109129
run: python build_wheels_from_file.py dependent_requirements_${{ matrix.os}}
110130

111131

0 commit comments

Comments
 (0)