Set the minimum macOS version to 13 (#239)

(cherry picked from commit e6800f894ec8a44fd745857c28e53e24ae73be9c)
diff --git a/.github/workflows/ci-build-release-wheels.yaml b/.github/workflows/ci-build-release-wheels.yaml
index 1d41ec2..3909efa 100644
--- a/.github/workflows/ci-build-release-wheels.yaml
+++ b/.github/workflows/ci-build-release-wheels.yaml
@@ -87,7 +87,7 @@
               /pulsar-client-python/pkg/test-wheel.sh
 
       - name: Upload artifacts
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         with:
           name: wheel-${{matrix.image.name}}-py${{matrix.python.version}}-${{matrix.cpu.platform}}
           path: wheelhouse/*.whl
@@ -115,7 +115,7 @@
         run: pkg/mac/build-mac-wheels.sh ${{matrix.py.version}} ${{matrix.py.version_long}}
 
       - name: Upload artifacts
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         with:
           name: wheel-mac-py${{matrix.py.version}}
           path: dist/*.whl
@@ -179,7 +179,7 @@
           python -c 'import pulsar; c = pulsar.Client("pulsar://localhost:6650"); c.close()'
 
       - name: Upload artifacts
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         with:
           name: wheel-windows-py${{matrix.python.version}}
           path: dist/*.whl
diff --git a/pkg/mac/build-mac-wheels.sh b/pkg/mac/build-mac-wheels.sh
index 2aea1de..cd068a3 100755
--- a/pkg/mac/build-mac-wheels.sh
+++ b/pkg/mac/build-mac-wheels.sh
@@ -52,7 +52,8 @@
 PYTHON_VERSION=$1
 PYTHON_VERSION_LONG=$2
 
-MACOSX_DEPLOYMENT_TARGET=13
+# When building Python from source, it will read this environment variable to determine the minimum supported macOS version
+export MACOSX_DEPLOYMENT_TARGET=13
 pushd $CACHE_DIR
 
 # We need to build OpenSSL from source to have universal2 binaries
@@ -99,6 +100,7 @@
     tar xfz Python-${PYTHON_VERSION_LONG}.tgz
 
     pushd Python-${PYTHON_VERSION_LONG}
+        export CFLAGS="-fPIC -O3"
         ./configure --prefix=$PREFIX --enable-shared --enable-universalsdk --with-universal-archs=universal2 --with-openssl=$PREFIX
         make -j16
         make install