diff --git a/bob/devtools/scripts/ci.py b/bob/devtools/scripts/ci.py
index 792f818e4b0de2db05dec30b9848f22fa7fdc4cb..76af5f202688392b1c712c165008777a740888bd 100644
--- a/bob/devtools/scripts/ci.py
+++ b/bob/devtools/scripts/ci.py
@@ -286,13 +286,14 @@ def pypi(package, dry_run):
     public = os.environ["CI_PROJECT_VISIBILITY"] == "public"
 
     if not public:
-        raise RuntimeError(
+        logger.warn(
             "The repository %s is not public - a package "
             "deriving from it therefore, CANNOT be published to PyPI. "
             "You must follow the relevant software disclosure procedures "
-            'and set this repository to "public" before trying again.'
-            % os.environ["CI_PROJECT_PATH"]
-        )
+            'and set this repository to "public" before trying again.',
+            os.environ["CI_PROJECT_PATH"]
+            )
+        return
 
     from ..constants import CACERT
     from twine.settings import Settings