X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=.gitlab-ci.yml;h=1c5a83eb9c3fce4bb4d085593a6128aa30b7c99e;hb=ee7bacc9ec2d701138586fe2b363702c4f46deee;hp=1dcb6c1867340ff7762e95a3c8a358093f28b64a;hpb=900f8d9df50daba2f678c43f9c85ca8e19900090;p=open-adventure.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1dcb6c1..1c5a83e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: alpine +image: fedora stages: - build @@ -6,30 +6,41 @@ stages: - deploy # build advent itself -binary: +binary:debug: stage: build before_script: - - apk update - - apk add make gcc musl-dev - script: - - make advent + - dnf install make gcc libedit-devel libasan libubsan python2 PyYAML lcov -y + script: + - make debug artifacts: paths: - advent - - "*.gcda" + - cheat + - "*.o" + - dungeon.c + - dungeon.h - "*.gcno" - # cache outputs to reduce the build time - cache: + +binary:release: + stage: build + before_script: + - dnf install make gcc libedit-devel python2 PyYAML -y + script: + - make advent cheat + artifacts: paths: + - advent + - cheat - "*.o" + - dungeon.c + - dungeon.h manpage: stage: build before_script: - - apk update - - apk add make asciidoc + - dnf install make asciidoc -y script: - - make .asc.6 + - make advent.6 artifacts: paths: - advent.6 @@ -37,37 +48,61 @@ manpage: html: stage: build before_script: - - apk update - - apk add make asciidoc libxslt + - dnf install make asciidoc libxslt -y + script: + - make html + artifacts: + paths: + - "*.html" + +dist: + stage: build + before_script: + - dnf install make asciidoc -y script: - - make .asc.html + - 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 + - dnf install make gcc libedit-devel libasan libubsan python2 PyYAML lcov -y script: - - cd tests - - make - - cd .. + - make debug + - make check - lcov -t "advent" -o advent.info -c -d . - genhtml -o coverage advent.info + - cd tests + - ./coverage_dungeon.py + - cd .. artifacts: paths: - coverage +test:release: + stage: test + before_script: + - dnf install make libedit -y + 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