X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=.gitlab-ci.yml;h=f30b2db730df090a525cc1645c86c5f355e976ad;hb=e07cedf332029369f2ce09a6f6ced3dda0de2558;hp=13004d5f0bb7a24f76b44ccddbb7b25c1187d10a;hpb=f373d87ba7ca7b2011fe26ea81544daebfdf66fb;p=open-adventure.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 13004d5..f30b2db 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,11 +1,33 @@ image: alpine +variables: + GIT_SUBMODULE_STRATEGY: "recursive" + GIT_SSL_NO_VERIFY: "true" + stages: - build - test + - deploy # build advent itself -binary: +binary:debug: + stage: build + before_script: + - apk update + - apk add make gcc musl-dev + script: + - make debug + artifacts: + paths: + - advent + - "*.gcda" + - "*.gcno" + # cache outputs to reduce the build time + cache: + paths: + - "*.o" + +binary:release: stage: build before_script: - apk update @@ -26,7 +48,7 @@ manpage: - apk update - apk add make asciidoc script: - - make .asc.6 + - make advent.6 artifacts: paths: - advent.6 @@ -37,13 +59,43 @@ html: - apk update - apk add make asciidoc libxslt script: - - make .asc.html + - make html + artifacts: + 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: - - advent.html + - "*.tar.gz" # run tests using the binary built before -test: +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 + script: + - cd tests + - make + - cd .. + - lcov -t "advent" -o advent.info -c -d . + - genhtml -o coverage advent.info + artifacts: + paths: + - coverage + dependencies: + - binary:debug + +test:release: stage: test before_script: - apk update @@ -51,3 +103,20 @@ test: script: - cd tests - make + - cd .. + dependencies: + - binary:release + +pages: + stage: deploy + script: + - mkdir public + - mv coverage public + artifacts: + paths: + - public + only: + - master + dependencies: + - test:debug +