diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8e3d46a6c27527484c029bbe1e0f07974a75d3d5..273465831f294429113b87a1f9fb69ea15fc2b59 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -19,27 +19,40 @@ cache:
 
 stages:
   - build
+  - test
   - publish
 
-verify:
+build:
   stage: build
   script:
-    - echo "mvn verify $MAVEN_CLI_OPTS"
-    - mvn help:effective-settings $MAVEN_CLI_OPTS
-    - mvn verify $MAVEN_CLI_OPTS
+    - mvn compile $MAVEN_CLI_OPTS
   artifacts:
     paths:
       - target/*.jar
 
+test:
+  stage: test
+  script:
+    - mvn test $MAVEN_CLI_OPTS
+
+verify:
+  stage: test
+  script:
+    - mvn verify $MAVEN_CLI_OPTS
+
 snapshot-gitlab:
   stage: publish
   script:
     - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
+  only:
+    - main
 
 snapshot-nexus:
   stage: publish
   script:
     - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
+  only:
+    - main
 
 release-gitlab:
   stage: publish