image: opensuse:tumbleweed stages: - build - test - deploy # build advent itself binary:debug: stage: build before_script: - zypper install -y make gcc libedit-devel libasan3 libubsan0 python python2-PyYAML lcov script: - make debug artifacts: paths: - advent - cheat - "*.o" - dungeon.c - dungeon.h binary:release: stage: build before_script: - zypper install -y make gcc libedit-devel python python2-PyYAML script: - make advent cheat artifacts: paths: - advent - cheat - "*.o" - dungeon.c - dungeon.h manpage: stage: build before_script: - zypper install -y make asciidoc script: - make advent.6 artifacts: paths: - advent.6 html: stage: build before_script: - 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: - zypper install -y make gcc libedit-devel libasan3 libubsan0 python python2-PyYAML lcov script: - 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: - zypper install -y make libedit 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