diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1d23e801617e6089cbc4e2b0387d358821ca1079..8995f98f2d9503353e554872b25414c4afe707a3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -40,9 +40,13 @@ test_package:
 
 build_package:
   stage: build
+  only:
+    variables:
+      - $CI_COMMIT_TAG =~ /release/
   script:
     - pip install -r requirements.txt
-    - sed -i "s_VERSION_0.0.1_g" setup.cfg
+    - VER=${CI_COMMIT_TAG#*-}
+    - sed -i "s_VERSION_${VER}_g" setup.cfg
     - python -m build
   artifacts:
     paths:
@@ -56,6 +60,4 @@ publish_package:
   stage: publish
   script:
     - pip install twine
-    - VER=${CI_COMMIT_TAG#*-}
-    - sed -i "s_VERSION_${VER}_g" setup.cfg
     - TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*