diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d88401a84c86ae272bc89eb358011fdec4ab9ad4..c47e334083879aec29e70b7c3b77ebf45c279076 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,6 +22,17 @@ release:
       //${CI_SERVER_HOST}/api/v4/packages/npm/:_authToken=${CI_JOB_TOKEN}
       //${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
       EOT
-    - npm publish
+    - |
+      THIS_VERSION=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[",]//g' | tr -d '[[:space:]]')
+    - LATEST_VERSION=$(npm show mocha version)
+    - |
+      echo "This: $THIS_VERSION, latest: $LATEST_VERSION"
+    - |
+      if [ "$LATEST_VERSION" = "$THIS_VERSION" ]
+      then
+        echo "This version has already been published"
+      else
+        npm publish
+      fi
   tags:
     - docker