diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f8f5949519cb9736c8a886cd32eb09365651ecd7..0cba6dff2034cc2c062f267cfe3dd408d910fe31 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -19,6 +19,7 @@ stages:
   - test
   - build
   - doc-update
+  - version_check
 
 build:
   stage: build
@@ -45,6 +46,17 @@ go-test:
     - go mod vendor -v
     - go test ./... -v
 
+version_check:
+    stage: version_check
+    only:
+        - master
+        - release
+    image: $DOCKER_IMAGE
+    script:
+        - GITTAG=$(git describe --tags)
+        - CODEVERS=$(cat utils/version.go | grep "const SEMVER =" | cut -d ' ' -f4 | tr -d '"')
+        - if [[ $GITTAG != $CODEVERS ]]; then echo "VERSION NUMBER BAD $GITTAG != $CODEVER"; exit -1; fi
+
 # This pipeline job will attempt to have pkg.go.dev update docs for xxdk-wasm.
 #
 # pkg.go.dev relies on the proxy.golang.org service (go module cache/proxy) to discover versions of