From fae4a843d6643c7ea40a124bad0b01eaeea32c22 Mon Sep 17 00:00:00 2001
From: Martin Larralde <martin.larralde@embl.de>
Date: Sun, 17 Jul 2022 19:26:28 +0200
Subject: [PATCH] Fix `package.yml` workflow not updating `setuptools` before
 testing wheels

---
 .github/workflows/package.yml | 14 +++++++++++---
 setup.py                      |  1 +
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml
index 7d22e3f..eaa4894 100644
--- a/.github/workflows/package.yml
+++ b/.github/workflows/package.yml
@@ -25,6 +25,10 @@ jobs:
           pyo3-python: /opt/python/cp310-cp310/bin/python
         - python-version: pypy-3.7
           pyo3-python: /opt/python/pp37-pypy37_pp73/bin/python
+        - python-version: pypy-3.8
+          pyo3-python: /opt/python/pp38-pypy38_pp73/bin/python
+        - python-version: pypy-3.9
+          pyo3-python: /opt/python/pp39-pypy39_pp73/bin/python
     steps:
     - name: Checkout code
       uses: actions/checkout@v2
@@ -72,8 +76,10 @@ jobs:
       with:
           name: dist
           path: dist
+    - name: Update pip
+      run: python -m pip install -U pip wheel setuptools
     - name: Install built wheel
-      run: python -m pip install --no-index --find-links=dist pyfastani
+      run: python -m pip install --only-binary pyfastani --find-links=dist pyfastani
     - name: Run tests without coverage
       run: python -m unittest pyfastani.tests -vv
 
@@ -136,8 +142,10 @@ jobs:
       with:
           name: dist
           path: dist
+    - name: Update pip
+      run: python -m pip install -U pip wheel setuptools
     - name: Install built wheel
-      run: python -m pip install --no-index --find-links=dist pyfastani
+      run: python -m pip install --only-binary pyfastani --find-links=dist pyfastani
     - name: Run tests without coverage
       run: python -m unittest pyfastani.tests -vv
 
@@ -241,7 +249,7 @@ jobs:
           path: dist/
     - name: Update pip to latest version
       run: python -m pip install -U pip setuptools wheel
-    - name: Install built wheel
+    - name: Install source distribution
       run: python -m pip install --no-binary pyfastani --find-links=dist pyfastani
     - name: Run tests without coverage
       run: python -m unittest pyfastani.tests -vv
diff --git a/setup.py b/setup.py
index 79c990b..05b0b84 100644
--- a/setup.py
+++ b/setup.py
@@ -176,6 +176,7 @@ class build_clib(_build_clib):
 
     def _check_function(self, funcname, header, args="()"):
         print('checking whether function', repr(funcname), 'is available', end="... ", file=sys.stderr)
+        self.mkpath(self.build_temp)
 
         base = "have_{}".format(funcname)
         testfile = os.path.join(self.build_temp, "{}.c".format(base))
-- 
GitLab