diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index db600343569930a436a593a8ab5d511a35bc7aca..a773c6776b5224dc482bc104fe490e98b9e19eb5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -101,13 +101,26 @@ unittest_py3.12:
   script: *python_test_script
 
 unittest_py3.13:
-  allow_failure: true
   tags: [ docker ]
   stage: test
   needs: [ ]
   image: python:3.13
   script: *python_test_script
 
+unittest_py3.14:
+  allow_failure: true   # remove on release
+  tags: [ docker ]
+  stage: test
+  needs: [ ]
+  image: python:3.14-rc
+  script:               # replace by '*python_test_script' on release
+    # Install cargo manually, source its env, and set it to accept 3.14 as interpreter
+    - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+    - . "$HOME/.cargo/env"
+    - export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1
+    # Continue normally
+    - *python_test_script
+
 # Trigger building of server image and integration tests
 trigger_build:
   stage: deploy