@@ -531,7 +531,7 @@ jobs:
531531 echo "$CONDA_PREFIX"
532532 ./uv pip install anyio
533533
534- integration-test-pypy :
534+ integration-test-pypy-linux :
535535 needs : build-binary-linux
536536 name : " integration test | pypy on ubuntu"
537537 runs-on : ubuntu-latest
@@ -596,6 +596,69 @@ jobs:
596596 run : |
597597 ./uv pip install anyio
598598
599+ integration-test-pypy-windows :
600+ needs : build-binary-windows
601+ name : " integration test | pypy on windows"
602+ runs-on : windows-latest
603+
604+ steps :
605+ - uses : actions/setup-python@v5
606+ with :
607+ python-version : " pypy3.9"
608+
609+ - name : " Download binary"
610+ uses : actions/download-artifact@v4
611+ with :
612+ name : uv-windows-${{ github.sha }}
613+
614+ - name : PyPy info
615+ run : Get-Command pypy
616+
617+ - name : " Create a virtual environment"
618+ run : |
619+ $pypy = (Get-Command pypy).source
620+ .\uv.exe venv -p $pypy
621+
622+ - name : " Check for executables"
623+ shell : python
624+ run : |
625+ import sys
626+ import json
627+ from pathlib import Path
628+
629+ def binary_exist(binary):
630+ binaries_path = Path(".venv\\Scripts")
631+ if (binaries_path / binary).exists():
632+ return True
633+ print(f"Executable '{binary}' not found in folder '{binaries_path}'.")
634+
635+ all_found = True
636+ expected_binaries = [
637+ "pypy3.9.exe",
638+ "pypy3.9w.exe",
639+ "pypy3.exe",
640+ "pypyw.exe",
641+ "python.exe",
642+ "python3.9.exe",
643+ "python3.exe",
644+ "pythonw.exe",
645+ ]
646+ for binary in expected_binaries:
647+ if not binary_exist(binary):
648+ all_found = False
649+
650+ if not all_found:
651+ print("One or more expected executables were not found.")
652+ sys.exit(1)
653+
654+ - name : " Check version"
655+ run : |
656+ & .venv\Scripts\python --version
657+
658+ - name : " Check install"
659+ run : |
660+ .\uv.exe pip install anyio
661+
599662 integration-test-github-actions :
600663 needs : build-binary-linux
601664 name : " integration test | github actions"
0 commit comments