Skip to content

Commit fbde96a

Browse files
committed
Add job to test pypy venv creation on Windows
1 parent b3528c2 commit fbde96a

File tree

1 file changed

+64
-1
lines changed

1 file changed

+64
-1
lines changed

.github/workflows/ci.yml

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)