diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ea2e66cbb8b0a1a562d79367ae7a0e375c48ac50..71de0e3a322a2a8d979d47a3b8156852e38a9841 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,39 +10,32 @@ variables:
   DEST_DIRECTORY: latest/hugo
 
 stages:
-  - test
   - build
   - push
 
-test:
-  stage: test
+build:
   before_script:
     - apk add --no-cache go curl bash nodejs
     - hugo version
     - hugo mod get -u
-  script:
-    - hugo
-  rules:
-    - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
-
-build:
-  before_script:
-    - hugo version
   stage: build
   script:
     - 'hugo --baseURL="https://es.hackmeeting.org/${DEST_DIRECTORY}"'
   artifacts:
     paths:
       - public
+  rules:
+    - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == 'no-masters'
 
 push:
   stage: push
   image:
     name: rclone/rclone:latest
     entrypoint: [""]
+  rules:
+    - if: $CI_COMMIT_BRANCH == 'no-masters'
+    - if: $WEBDAV_PASSWORD
   script:
     - "rclone sync -v --retries 10 --exclude='hm/**' --webdav-url ${WEBDAV_URL} --webdav-user ${WEBDAV_USERNAME} --webdav-pass $(echo -n \"${WEBDAV_PASSWORD}\" | rclone obscure -) ./public :webdav:${WEBDAV_REMOTE_PATH}/${DEST_DIRECTORY}"
   dependencies:
     - build
-  only:
-   - no-masters
diff --git a/go.mod b/go.mod
index ad56f540699f95252508f470a0adf6d675abcdb5..fa81b044139f396e323780c67a6f7f01a1cdd244 100644
--- a/go.mod
+++ b/go.mod
@@ -1,5 +1,5 @@
 module 0xacab.org/nutria/wiki-hackmeeting
 
-go 1.22
+go 1.21
 
 require github.com/nunocoracao/blowfish/v2 v2.74.0 // indirect