diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9a0190c44f5fee9e0ac8b5954b0bcff41c92b9b4..c53f5387130c38241f0a14b167f82db0f62a0dad 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,7 @@
 stages:
   - github-sync
+  - build
+  - test
   - releases
   - releases-page
 push_to_github:
@@ -19,6 +21,27 @@ push_to_github:
         - bash -c "cat packed-refs | grep -v 'refs/pull' > packed-refs-new; echo 'Removed pull refs.'"
         - mv packed-refs-new packed-refs
         - bash -c "git push --force --mirror github 2>&1 | grep -v duniter-gitlab; echo $?"
+        
+build:
+  stage: build
+  tags:
+    - redshift
+  before_script:
+    - export NVM_DIR="$HOME/.nvm"
+    - . "$NVM_DIR/nvm.sh"
+  script:
+    - yarn
+
+test:
+  stage: test
+  tags:
+    - redshift
+  before_script:
+    - export NVM_DIR="$HOME/.nvm"
+    - . "$NVM_DIR/nvm.sh"
+  script:
+    - yarn
+    - yarn test
 
 releases:test:
   stage: releases