Skip to content

Commit bfdfb1b

Browse files
committed
Add CI job to test PyPy executables
1 parent 672169f commit bfdfb1b

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

.github/workflows/ci.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)