Step with debug compiling with Clang, to contrast with GCC
[open-adventure.git] / .gitlab-ci.yml
index f0987236de46447c6748fea4a1fb08ab405cb414..3644753c5d709b2e1bd3ae77d8fa0b2e1fd331f1 100644 (file)
@@ -1,4 +1,4 @@
-image: alpine
+image: opensuse:tumbleweed
 
 stages:
   - build
@@ -9,40 +9,35 @@ stages:
 binary:debug:
   stage: build
   before_script:
-    - apk update
-    - apk add make gcc musl-dev
-  script: 
+    - zypper install -y make gcc libedit-devel libasan3 libubsan0 python python2-PyYAML lcov 
+  script:
     - make debug
   artifacts:
     paths:
       - advent
-      - "*.gcda"
-      - "*.gcno"
-  # cache outputs to reduce the build time
-  cache:
-    paths:
+      - cheat
       - "*.o"
+      - dungeon.c
+      - dungeon.h
 
 binary:release:
   stage: build
   before_script:
-    - apk update
-    - apk add make gcc musl-dev
-  script: 
-    - make advent
+    - zypper install -y make gcc libedit-devel python python2-PyYAML
+  script:
+    - make advent cheat
   artifacts:
     paths:
       - advent
-  # cache outputs to reduce the build time
-  cache:
-    paths:
+      - cheat
       - "*.o"
+      - dungeon.c
+      - dungeon.h
 
 manpage:
   stage: build
   before_script:
-    - apk update
-    - apk add make asciidoc
+    - zypper install -y make asciidoc
   script:
     - make advent.6
   artifacts:
@@ -52,8 +47,7 @@ manpage:
 html:
   stage: build
   before_script:
-    - apk update
-    - apk add make asciidoc libxslt
+    - zypper install -y make asciidoc libxslt
   script:
     - make html
   artifacts:
@@ -63,8 +57,7 @@ html:
 dist:
   stage: build
   before_script:
-    - apk update
-    - apk add make asciidoc
+    - zypper install -y make asciidoc tar
   script:
     - export VERS=${CI_COMMIT_REF_NAME}
     - make dist -e
@@ -76,26 +69,26 @@ dist:
 test:debug:
   stage: test
   before_script:
-    - apk update
-    - apk add make gcc
-    - apk add lcov --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
+    - zypper install -y make gcc libedit-devel libasan3 libubsan0 python python2-PyYAML lcov
   script:
-    - cd tests
-    - make
-    - cd ..
-    - lcov -t "advent" -o advent.info -c -d .
-    - genhtml -o coverage advent.info
+    - make coverage
   artifacts:
     paths:
       - coverage
   dependencies:
     - binary:debug
 
+test:debug_clang:
+  stage: test
+  before_script:
+    - zypper install -y make clang libedit-devel python python2-PyYAML lcov
+  script:
+    - CC=clang make debug check
+
 test:release:
   stage: test
   before_script:
-    - apk update
-    - apk add make
+    - zypper install -y make libedit
   script:
     - cd tests
     - make
@@ -106,17 +99,12 @@ test:release:
 pages:
   stage: deploy
   script:
-    - mkdir -p public/releases
+    - mkdir public
     - mv coverage public
-    - "mv *.html public"
-    - "mv *.tar.gz public/releases"
   artifacts:
     paths:
       - public
   only:
     - master
   dependencies:
-    - html
     - test:debug
-    - dist
-