diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1b8440aa923e172574eeda3c8603cdc21705ad10..1f8878da14e4a6d6d5803466b61314e05468e52b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,13 +10,18 @@ build:
         - pacman -Sy && pacman -S --noconfirm bison flex gcc make gettext sdl2 lib32-glibc grep
         - export AM_HOME=$(pwd)/nexus-am/
         - cd nemu && make
+        - show_log=1 ./runall.sh &> testcases.log ; echo $? > testres.log
+    artifacts:
+        paths:
+            - nemu/testres.log
+            - nemu/testcases.log
+        expire_in: 1 week
 
 
 test:
     stage: test
     script:
-        - pacman -Sy && pacman -S --noconfirm bison flex gcc make gettext sdl2 lib32-glibc grep
-        - export AM_HOME=$(pwd)/nexus-am/
-        - cd nemu && make && show_log=1 ./runall.sh
+        - test 0 = $(<nemu/testres.log)  || cat nemu/testcases.log
+        - test 0 = $(<nemu/testres.log)