Use OpenSUSE in CI pipeline, instead
[open-adventure.git] / .gitlab-ci.yml
index 7198e7e123fa068d0a31556478baaa38f384450a..984111df8031110b3a9131c7c5c1e58bcf5394de 100644 (file)
@@ -1,8 +1,4 @@
-image: alpine
-
-variables:
-  GIT_SUBMODULE_STRATEGY: "recursive"
-  GIT_SSL_NO_VERIFY: "true"
+image: opensuse:tumbleweed
 
 stages:
   - build
@@ -13,44 +9,36 @@ stages:
 binary:debug:
   stage: build
   before_script:
-    - apk update
-    - apk add make gcc musl-dev python3
-    - 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
+      - "*.gcno"
 
 binary:release:
   stage: build
   before_script:
-    - apk update
-    - apk add make gcc musl-dev python3
-    - 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:
@@ -60,8 +48,7 @@ manpage:
 html:
   stage: build
   before_script:
-    - apk update
-    - apk add make asciidoc libxslt
+    - zypper install -y make asciidoc libxslt
   script:
     - make html
   artifacts:
@@ -71,8 +58,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
@@ -84,25 +70,23 @@ 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:
+    - make debug
+    - make check
+    - lcov -t "advent" -o advent.info -c -d .
+    - genhtml -o coverage advent.info
     - cd tests
-    - make
-    - make coverage
+    - ./coverage_dungeon.py
     - cd ..
   artifacts:
     paths:
       - coverage
-  dependencies:
-    - binary:debug
 
 test:release:
   stage: test
   before_script:
-    - apk update
-    - apk add make
+    - zypper install -y make libedit
   script:
     - cd tests
     - make
@@ -122,4 +106,3 @@ pages:
     - master
   dependencies:
     - test:debug
-