X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=.gitlab-ci.yml;h=3644753c5d709b2e1bd3ae77d8fa0b2e1fd331f1;hp=935fa3f0a2bd92249919f1bda67894233b6b1d44;hb=faedb38a6499b3cc638079c1e17621c9f9b192f0;hpb=beb80ff521fd0c5219bbe761c901ce486bca1913 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 935fa3f..3644753 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: alpine +image: opensuse:tumbleweed stages: - build @@ -9,42 +9,37 @@ stages: binary:debug: stage: build before_script: - - apk update - - apk add make gcc musl-dev - script: + - zypper install -y make gcc libedit-devel libasan3 libubsan0 python python2-PyYAML lcov + script: - make debug artifacts: paths: - advent - - "*.gcda" - - "*.gcno" - # cache outputs to reduce the build time - cache: - paths: + - cheat - "*.o" + - dungeon.c + - dungeon.h binary:release: stage: build before_script: - - apk update - - apk add make gcc musl-dev - script: - - make advent + - zypper install -y make gcc libedit-devel python python2-PyYAML + script: + - make advent cheat artifacts: paths: - advent - # cache outputs to reduce the build time - cache: - paths: + - cheat - "*.o" + - dungeon.c + - dungeon.h manpage: stage: build before_script: - - apk update - - apk add make asciidoc + - zypper install -y make asciidoc script: - - make .adoc.6 + - make advent.6 artifacts: paths: - advent.6 @@ -52,38 +47,48 @@ manpage: html: stage: build before_script: - - apk update - - apk add make asciidoc libxslt + - zypper install -y make asciidoc libxslt script: - make html artifacts: paths: - "*.html" +dist: + stage: build + before_script: + - zypper install -y make asciidoc tar + 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 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 - - cd .. - - lcov -t "advent" -o advent.info -c -d . - - genhtml -o coverage advent.info + - make coverage 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 @@ -96,12 +101,10 @@ pages: script: - mkdir public - mv coverage public - - "mv *.html public" artifacts: paths: - public only: - master dependencies: - - html - test:debug