diff --git a/scripts/ci/jobs/build-wheels.yml b/scripts/ci/jobs/build-wheels.yml
index 6bcab571755f0942b5d8353d703334c6cf437987..b08f6981978e4f86b87e6bcc51f8f606d7746ea6 100644
--- a/scripts/ci/jobs/build-wheels.yml
+++ b/scripts/ci/jobs/build-wheels.yml
@@ -13,3 +13,24 @@ build wheels linux:
   artifacts:
     paths:
       - wheelhouse/
+
+build wheels mac:
+  stage: build
+  needs: [meta]
+  tags:
+    - mac
+    - ${ARCHITECTURE}
+  script:
+    - CMAKE_OSX_DEPLOYMENT_TARGET=10.15 pipx run cibuildwheel
+    - >
+      pipx run twine upload
+      --repository-url https://gitlab.opengeosys.org/api/v4/projects/${CI_PROJECT_ID}/packages/pypi
+      --username gitlab-ci-token
+      --password ${CI_JOB_TOKEN}
+      wheelhouse/*
+  artifacts:
+    paths:
+      - wheelhouse/
+  parallel:
+    matrix:
+      - ARCHITECTURE: ["amd64", "arm64"]