Skip to content

Commit 280832b

Browse files
committed
restore pypy builds for x86_64
1 parent baed943 commit 280832b

File tree

1 file changed

+58
-49
lines changed

1 file changed

+58
-49
lines changed

.github/workflows/ci.yml

+58-49
Original file line numberDiff line numberDiff line change
@@ -365,74 +365,76 @@ jobs:
365365
path: dist
366366

367367
build:
368-
name: build on ${{ matrix.platform || matrix.os }} (${{ matrix.target }} - ${{ matrix.manylinux || 'auto' }})
368+
name: build on ${{ matrix.os }} (${{ matrix.target }} - ${{ matrix.manylinux || 'auto' }})
369369
# only run on push to main and on release
370370
if: startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main' || contains(github.event.pull_request.labels.*.name, 'Full Build')
371371
strategy:
372372
fail-fast: false
373373
matrix:
374-
os: [ubuntu, macos, windows]
375-
target: [x86_64, aarch64]
374+
os: [linux, macos, windows]
375+
target: [] # require all targets to be specified
376376
manylinux: [auto]
377377
include:
378-
- os: ubuntu
379-
platform: linux
380-
- os: windows
381-
ls: dir
382-
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12 pypy3.8 pypy3.9 pypy3.10
378+
# standard runners on macos x86_64 (which we don't PGO optimize)
379+
- os: linux
380+
runs-on: ubuntu-latest
383381
- os: windows
384382
ls: dir
385-
target: i686
386-
python-architecture: x86
387-
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
388-
- os: windows
389-
ls: dir
390-
target: aarch64
391-
interpreter: 3.11 3.12
383+
runs-on: windows-latest
392384
- os: macos
393-
target: aarch64
394-
interpreter: 3.7 3.8 3.9 pypy3.8 pypy3.9 pypy3.10
395-
- os: ubuntu
396-
platform: linux
385+
runs-on: macos-latest
386+
387+
# manylinux for various platforms, plus x86_64 pypy
388+
- os: linux
397389
target: i686
398-
- os: ubuntu
399-
platform: linux
390+
- os: linux
400391
target: aarch64
401-
402-
- os: ubuntu
403-
platform: linux
392+
- os: linux
404393
target: armv7
405394
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
395+
- os: linux
396+
target: ppc64le
397+
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
398+
- os: linux
399+
target: s390x
400+
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
401+
- os: linux
402+
target: x86_64
403+
interpreter: pypy3.7 pypy3.8 pypy3.9 pypy3.10
404+
406405
# musllinux
407-
- os: ubuntu
408-
platform: linux
406+
- os: linux
409407
target: x86_64
410408
manylinux: musllinux_1_1
411-
- os: ubuntu
412-
platform: linux
409+
- os: linux
413410
target: aarch64
414411
manylinux: musllinux_1_1
415-
- os: ubuntu
416-
platform: linux
417-
target: ppc64le
418-
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
419-
- os: ubuntu
420-
platform: linux
421-
target: s390x
422-
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
423-
exclude:
424-
# Optimized PGO builds for x86_64 manylinux and windows follow a different matrix,
425-
# maybe in future maturin-action can support this automatically
426-
- os: ubuntu
412+
413+
# macos;
414+
# all versions x86_64
415+
# arm pypy and older pythons which can't be run on the arm hardware for PGO
416+
- os: macos
427417
target: x86_64
428-
manylinux: auto
418+
- os: macos
419+
target: aarch64
420+
interpreter: 3.7 3.8 3.9 pypy3.8 pypy3.9 pypy3.10
421+
422+
# windows;
423+
# x86_64 pypy builds are not PGO optimized
424+
# i686 not supported by pypy
425+
# aarch64 only 3.11 and up, also not PGO optimized
429426
- os: windows
430427
target: x86_64
431-
# Windows on arm64 only supports Python 3.11+
428+
interpreter: pypy3.8 pypy3.9 pypy3.10
429+
- os: windows
430+
target: i686
431+
python-architecture: x86
432+
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
432433
- os: windows
433434
target: aarch64
435+
interpreter: 3.11 3.12
434436

435-
runs-on: ${{ matrix.os }}-latest
437+
runs-on: ${{ (matrix.os == 'linux' && 'ubuntu') || matrix.os }}-latest
436438
steps:
437439
- uses: actions/checkout@v4
438440

@@ -473,20 +475,27 @@ jobs:
473475
strategy:
474476
fail-fast: false
475477
matrix:
476-
os: [ubuntu-latest, windows-latest, macos-latest-xlarge]
478+
os: [linux, windows, macos]
477479
interpreter: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
478480
include:
479-
- os: windows-latest
481+
# standard runners with override for macos arm
482+
- os: linux
483+
runs-on: ubuntu-latest
484+
- os: windows
480485
ls: dir
486+
runs-on: windows-latest
487+
- os: macos
488+
runs-on: macos-latest-xlarge
481489
exclude:
482-
- os: macos-latest-xlarge
490+
# macos arm only supported from 3.10 and up
491+
- os: macos
483492
interpreter: '3.7'
484-
- os: macos-latest-xlarge
493+
- os: macos
485494
interpreter: '3.8'
486-
- os: macos-latest-xlarge
495+
- os: macos
487496
interpreter: '3.9'
488497

489-
runs-on: ${{ matrix.os }}
498+
runs-on: ${{ matrix.runs-on }}
490499
steps:
491500
- uses: actions/checkout@v4
492501

0 commit comments

Comments
 (0)