Step with debug compiling with Clang, to contrast with GCC
[open-adventure.git] / .gitlab-ci.yml
index 291b943a7e4c1ab5359fd7d33bcbd5e18ed796fa..3644753c5d709b2e1bd3ae77d8fa0b2e1fd331f1 100644 (file)
@@ -1,4 +1,4 @@
-image: alpine
+image: opensuse:tumbleweed
 
 stages:
   - build
@@ -9,44 +9,35 @@ stages:
 binary:debug:
   stage: build
   before_script:
-    - apk update
-    - apk add make gcc musl-dev python3 libedit-dev
-    - pip3 install PyYAML
-  script: 
+    - zypper install -y make gcc libedit-devel libasan3 libubsan0 python python2-PyYAML lcov 
+  script:
     - make debug
   artifacts:
     paths:
       - advent
       - cheat
-      - "*.gcda"
-      - "*.gcno"
-  # cache outputs to reduce the build time
-  cache:
-    paths:
       - "*.o"
+      - dungeon.c
+      - dungeon.h
 
 binary:release:
   stage: build
   before_script:
-    - apk update
-    - apk add make gcc musl-dev python3 libedit-dev
-    - pip3 install PyYAML
-  script: 
+    - zypper install -y make gcc libedit-devel python python2-PyYAML
+  script:
     - make advent cheat
   artifacts:
     paths:
       - advent
       - cheat
-  # cache outputs to reduce the build time
-  cache:
-    paths:
       - "*.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:
@@ -56,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:
@@ -67,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
@@ -80,25 +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
     - make coverage
-    - cd ..
   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
@@ -118,4 +108,3 @@ pages:
     - master
   dependencies:
     - test:debug
-