diff --git a/.github/workflows/manylinux_build.sh b/.github/workflows/manylinux_build.sh index fe1d7a0f..366e2867 100644 --- a/.github/workflows/manylinux_build.sh +++ b/.github/workflows/manylinux_build.sh @@ -18,4 +18,7 @@ if [ %for_each_version% ]; then for VERSION in 8 9 10 11 12; do maturin build --release --no-default-features --features rustls --interpreter "python3.$VERSION" --compatibility manylinux2014 done -fi + for VERSION in 9 10; do + maturin build --release --no-default-features --features rustls --interpreter "pypy3.$VERSION" --compatibility manylinux2014 + done +fi \ No newline at end of file diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d0e45d20..236764bf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -268,6 +268,26 @@ jobs: - run: python -m unittest working-directory: ./python/tests + python_pypy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - run: rustup update && rustup toolchain install nightly && rustup default 1.70.0 + - uses: Swatinem/rust-cache@v2 + - uses: actions/setup-python@v4 + with: + python-version: "pypy3.10" + cache: pip + cache-dependency-path: '**/requirements.dev.txt' + - run: pip install -r python/requirements.dev.txt + - run: maturin build -m python/Cargo.toml + - run: pip install --no-index --find-links=target/wheels/ pyoxigraph + - run: rm -r target/wheels + - run: python -m unittest + working-directory: ./python/tests + python_windows: runs-on: windows-latest steps: diff --git a/python/tests/test_store.py b/python/tests/test_store.py index 4f47b5f0..9b662ad6 100644 --- a/python/tests/test_store.py +++ b/python/tests/test_store.py @@ -1,3 +1,4 @@ +import gc import unittest from io import BytesIO, StringIO, UnsupportedOperation from pathlib import Path @@ -386,6 +387,7 @@ class TestStore(unittest.TestCase): store = Store(dir) store.add(quad) del store + gc.collect() store = Store.read_only(dir) self.assertEqual(list(store), [quad])