@@ -485,7 +485,9 @@ jobs:
485
485
target : ${{ matrix.target }}
486
486
manylinux : ${{ matrix.manylinux }}
487
487
args : --release --out dist --interpreter ${{ matrix.interpreter || '3.8 3.9 3.10 3.11 3.12 3.13 pypy3.9 pypy3.10' }}
488
- rust-toolchain : stable
488
+ # Limit windows builds to 1.77 to keep Windows 7 support.
489
+ # FIXME: Unpin when Python 3.8 support is dropped. (3.9 requires Windows 10)
490
+ rust-toolchain : ${{ (matrix.os == 'windows' && '1.77') || 'stable' }}
489
491
docker-options : -e CI
490
492
491
493
- run : ${{ (matrix.os == 'windows' && 'dir') || 'ls -lh' }} dist/
@@ -534,17 +536,18 @@ jobs:
534
536
535
537
- name : install rust stable
536
538
id : rust-toolchain
537
- uses : dtolnay/rust-toolchain@stable
539
+ uses : dtolnay/rust-toolchain@master
538
540
with :
539
541
components : llvm-tools
542
+ # Limit windows builds to 1.77 to keep Windows 7 support.
543
+ # FIXME: Unpin when Python 3.8 support is dropped. (3.9 requires Windows 10)
544
+ toolchain : ${{ (matrix.os == 'windows' && '1.77') || 'stable' }}
540
545
541
546
- run : pip install -U 'ruff==0.5.0' typing_extensions
542
547
543
548
# generate self-schema now, so we don't have to do so inside docker in maturin build
544
549
- run : python generate_self_schema.py
545
550
546
- - run : rustc --version --verbose
547
-
548
551
- name : build initial wheel
549
552
uses : PyO3/maturin-action@v1
550
553
with :
@@ -553,7 +556,7 @@ jobs:
553
556
--release
554
557
--out pgo-wheel
555
558
--interpreter ${{ matrix.interpreter }}
556
- rust-toolchain : stable
559
+ rust-toolchain : ${{ steps.rust-toolchain.outputs.name }}
557
560
docker-options : -e CI
558
561
env :
559
562
RUSTFLAGS : " -Cprofile-generate=${{ github.workspace }}/profdata"
@@ -568,7 +571,7 @@ jobs:
568
571
pip install -r tests/requirements.txt
569
572
pip install pydantic-core --no-index --no-deps --find-links pgo-wheel --force-reinstall
570
573
pytest tests/benchmarks
571
- rustup run stable bash -c 'echo LLVM_PROFDATA=$RUSTUP_HOME/toolchains/$RUSTUP_TOOLCHAIN/lib/rustlib/${{ env.RUST_HOST }}/bin/llvm-profdata >> "$GITHUB_ENV"'
574
+ rustup run ${{ steps.rust-toolchain.outputs.name }} bash -c 'echo LLVM_PROFDATA=$RUSTUP_HOME/toolchains/$RUSTUP_TOOLCHAIN/lib/rustlib/${{ env.RUST_HOST }}/bin/llvm-profdata >> "$GITHUB_ENV"'
572
575
573
576
- name : merge pgo data
574
577
run : ${{ env.LLVM_PROFDATA }} merge -o ${{ github.workspace }}/merged.profdata ${{ github.workspace }}/profdata
@@ -581,7 +584,7 @@ jobs:
581
584
--release
582
585
--out dist
583
586
--interpreter ${{ matrix.interpreter }}
584
- rust-toolchain : stable
587
+ rust-toolchain : ${{steps.rust-toolchain.outputs.name}}
585
588
docker-options : -e CI
586
589
env :
587
590
RUSTFLAGS : " -Cprofile-use=${{ github.workspace }}/merged.profdata"
0 commit comments