diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ca00d59ddf77a79dbae776bba7b666a4be38a767..c07d06b8bb4570cc8b49cff227f52d2e884e6420 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -32,8 +32,9 @@ release:
     - npm audit fix || true
   script: 
     - npx semantic-release
-  only:
-    - main
+  rules:
+    - if: '$CI_COMMIT_BRANCH == "main" && $CI_COMMIT_MESSAGE !~ /^chore\(release\):/'
+      when: always
   variables:
     GIT_SSL_NO_VERIFY: "true"
     GIT_ASKPASS: "true"