Add make target for coverage
[open-adventure.git] / .gitlab-ci.yml
index 935fa3f0a2bd92249919f1bda67894233b6b1d44..20e466b958fca76dcbd8515397b5246bfcb539cc 100644 (file)
@@ -1,5 +1,9 @@
 image: alpine
 
+variables:
+  GIT_SUBMODULE_STRATEGY: "recursive"
+  GIT_SSL_NO_VERIFY: "true"
+
 stages:
   - build
   - test
@@ -10,12 +14,14 @@ binary:debug:
   stage: build
   before_script:
     - apk update
-    - apk add make gcc musl-dev
+    - apk add make gcc musl-dev python3
+    - pip3 install PyYAML
   script: 
     - make debug
   artifacts:
     paths:
       - advent
+      - cheat
       - "*.gcda"
       - "*.gcno"
   # cache outputs to reduce the build time
@@ -27,12 +33,14 @@ binary:release:
   stage: build
   before_script:
     - apk update
-    - apk add make gcc musl-dev
+    - apk add make gcc musl-dev python3
+    - pip3 install PyYAML
   script: 
-    - make advent
+    - make advent cheat
   artifacts:
     paths:
       - advent
+      - cheat
   # cache outputs to reduce the build time
   cache:
     paths:
@@ -44,7 +52,7 @@ manpage:
     - apk update
     - apk add make asciidoc
   script:
-    - make .adoc.6
+    - make advent.6
   artifacts:
     paths:
       - advent.6
@@ -60,6 +68,18 @@ html:
     paths:
       - "*.html"
 
+dist:
+  stage: build
+  before_script:
+    - apk update
+    - apk add make asciidoc
+  script:
+    - export VERS=${CI_COMMIT_REF_NAME}
+    - make dist -e
+  artifacts:
+    paths:
+      - "*.tar.gz"
+
 # run tests using the binary built before
 test:debug:
   stage: test
@@ -68,11 +88,7 @@ test:debug:
     - apk add make gcc
     - apk add lcov --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
   script:
-    - cd tests
-    - make
-    - cd ..
-    - lcov -t "advent" -o advent.info -c -d .
-    - genhtml -o coverage advent.info
+    - make coverage
   artifacts:
     paths:
       - coverage
@@ -96,12 +112,11 @@ pages:
   script:
     - mkdir public
     - mv coverage public
-    - "mv *.html public"
   artifacts:
     paths:
       - public
   only:
     - master
   dependencies:
-    - html
     - test:debug
+