Commit Diff


commit - 49afd7dc20c92b652717dc8851a0e00e48c124a7
commit + 99a377e60c1e81c9453e463022c3b207d4b66116
blob - d1e482d00d92c0a51c0d7e987a6368fb68205e55
blob + 210e20eae604602a9da632b0b2d3000767ae0207
--- .github/workflows/python-distributions.yml
+++ .github/workflows/python-distributions.yml
@@ -84,6 +84,21 @@ jobs:
           name: artifact-${{ matrix.build-identifier }}
           path: ./wheelhouse/*.whl
 
+  build-pure-wheels:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/setup-python@v5
+        with:
+          cache: pip
+      - run: pip install build
+      - run: PURE=true python -m build --wheel
+      - name: Upload pure wheels
+        uses: actions/upload-artifact@v4
+        with:
+          name: artifact-pure
+          path: ./dist/*.whl
+
   build-sdist:
     runs-on: ubuntu-latest
     steps:
@@ -130,6 +145,7 @@ jobs:
     needs:
       - build-wheels
       - build-sdist
+      - build-pure-wheels
     if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/dulwich-')
     permissions:
       id-token: write
blob - 822ed369538d1aacae5e1692fef44af334d93e87
blob + 6eada14870811f114cbe81fdda239f5d78f37c21
--- setup.py
+++ setup.py
@@ -61,7 +61,10 @@ if "--pure" in sys.argv:
     sys.argv.remove("--pure")
     rust_extensions = []
 
+if "PURE" in os.environ:
+    rust_extensions = []
 
+
 setup(
     package_data={"": ["py.typed"]},
     rust_extensions=rust_extensions,