diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b3f4902a6c15008ad872eba211676159bfddda28..ee351e287312f6e15e5f7f71dfa9ebd076bcea1d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -68,10 +68,10 @@ test_python311:
     - branches
   stage: build
   script:
-    - pip install --break-system-packages --upgrade Cython setuptools pip
+    - pip install --break-system-packages --upgrade Cython setuptools pip repairwheel
     - pip install --break-system-packages -r requirements.txt
     - python setup.py bdist_wheel
-    - cp dist/*.whl .
+    - repairwheel dist/*.whl -o .
   after_script:
     - pip install twine
     - TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python3 -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*
@@ -82,6 +82,9 @@ upload_python311_armv7l:
   dependencies:
     - build_python311_armv7l
   script:
+    - mkdir dist2
+    - mv *.whl dist2
+    - repairwheel dist2/*.whl -o .
     - TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python3 -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*
   only:
     - tags