open-adventure/.gitlab-ci.yml
2017-07-17 13:56:52 -04:00

108 lines
1.8 KiB
YAML

image: fedora
stages:
- build
- test
- deploy
# build advent itself
binary:debug:
stage: build
before_script:
- dnf install make gcc libedit-devel libasan libubsan python2 PyYAML lcov -y
script:
- make debug
artifacts:
paths:
- advent
- cheat
- "*.o"
- dungeon.c
- dungeon.h
- "*.gcno"
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:
- dnf install make asciidoc -y
script:
- make advent.6
artifacts:
paths:
- advent.6
html:
stage: build
before_script:
- dnf install make asciidoc libxslt -y
script:
- make html
artifacts:
paths:
- "*.html"
dist:
stage: build
before_script:
- dnf install make asciidoc -y
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:
- dnf install make gcc libedit-devel libasan libubsan python2 PyYAML lcov -y
script:
- 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