@@ -524,6 +524,64 @@ jobs:
524524 echo "$CONDA_PREFIX"
525525 ./uv pip install anyio
526526
527+ integration-test-pypy :
528+ needs : build-binary-linux
529+ name : " integration test | pypy on ubuntu"
530+ runs-on : ubuntu-latest
531+ steps :
532+ - uses : actions/checkout@v4
533+
534+ - uses : actions/setup-python@v5
535+ with :
536+ python-version : " pypy3.9"
537+
538+ - name : " Download binary"
539+ uses : actions/download-artifact@v4
540+ with :
541+ name : uv-linux-${{ github.sha }}
542+
543+ - name : " Prepare binary"
544+ run : chmod +x ./uv
545+
546+ - name : PyPy info
547+ run : which pypy
548+
549+ - name : " Create a virtual environment"
550+ run : |
551+ ./uv venv -p $(which pypy)
552+ - name : " Check for executables"
553+ run : |
554+ check_in_bin() {
555+ local executable_name=$1
556+ local bin_path=".venv/bin"
557+ if [[ -x "$bin_path/$executable_name" ]]; then
558+ return 0
559+ else
560+ echo "Executable '$executable_name' not found in folder '$bin_path'."
561+ return 1
562+ fi
563+ }
564+ executables=("pypy" "pypy3.9" "python")
565+ all_found=true
566+ for executable_name in "${executables[@]}"; do
567+ check_in_bin "$executable_name" "$folder_path"
568+ result=$?
569+
570+ if [[ $result -ne 0 ]]; then
571+ all_found=false
572+ fi
573+ done
574+ if ! $all_found; then
575+ echo "One or more expected executables were not found."
576+ exit 1
577+ fi
578+ - name : " Check version"
579+ run : |
580+ .venv/bin/pypy --version
581+ - name : " Check install"
582+ run : |
583+ ./uv pip install anyio
584+
527585 integration-test-github-actions :
528586 needs : build-binary-linux
529587 name : " integration test | github actions"
0 commit comments