diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 223170e010d613482bd99aa77aca41a2d9e4b073..b724e32f4695baff22661c3d66095b648360aa6d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,8 +1,6 @@
 stages:
   - setup
   - test
-  - client-install
-  - client-test
 
 include:
   - local: .gitlab/server.gitlab-ci.yml
diff --git a/.gitlab/client.gitlab-ci.yml b/.gitlab/client.gitlab-ci.yml
index 2881ef9d140d32fd0a3d07096f6a942b5a4f4742..d4226e3d5a8322f22cc7854d56ea14840af17c32 100644
--- a/.gitlab/client.gitlab-ci.yml
+++ b/.gitlab/client.gitlab-ci.yml
@@ -1,31 +1,32 @@
-image: node:10
-
-install:
-  stage: client-install
+client-setup:
+  image: node:10
+  stage: setup
   script:
     - cd client
     - npm install
   artifacts:
     name: "artifacts"
     untracked: true
-    expire_in: 60 mins
+    expire_in: 15 mins
     paths:
       - client/.npm/
       - client/node_modules/
 
-linting:
-  stage: client-test
+client-linting:
+  image: node:10
+  stage: test
   script:
     - cd client
     - npm run lint
   dependencies:
-    - install
+    - client-setup
 
-test:unit:
-  stage: client-test
+client-test:
+  image: node:10
+  stage: test
   script:
     - cd client
     - npm run test:coverage
   dependencies:
-    - install
+    - client-setup
   coverage: /All files\s*\|\s*([\d\.]+)/