-image: alpine
+image: fedora
stages:
- build
binary:debug:
stage: build
before_script:
- - apk update
- - apk add make gcc musl-dev
- script:
+ - dnf install make gcc libedit-devel libasan libubsan python2 PyYAML lcov -y
+ script:
- make debug
artifacts:
paths:
- advent
- - "*.gcda"
- - "*.gcno"
- # cache outputs to reduce the build time
- cache:
- paths:
+ - cheat
- "*.o"
+ - dungeon.c
+ - dungeon.h
+ - "*.gcno"
binary:release:
stage: build
before_script:
- - apk update
- - apk add make gcc musl-dev
- script:
- - make advent
+ - dnf install make gcc libedit-devel python2 PyYAML -y
+ 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
+ - dnf install make asciidoc -y
script:
- make advent.6
artifacts:
html:
stage: build
before_script:
- - apk update
- - apk add make asciidoc libxslt
+ - dnf install make asciidoc libxslt -y
script:
- make html
artifacts:
dist:
stage: build
before_script:
- - apk update
- - apk add make asciidoc
+ - dnf install make asciidoc -y
script:
- export VERS=${CI_COMMIT_REF_NAME}
- make dist -e
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
- dependencies:
- - binary:debug
test:release:
stage: test
before_script:
- - apk update
- - apk add make
+ - dnf install make libedit -y
script:
- cd tests
- make
pages:
stage: deploy
script:
- - mkdir -p public/releases
+ - mkdir public
- mv coverage public
- - "mv *.html public"
- - "mv *.tar.gz public/releases"
artifacts:
paths:
- public
only:
- master
dependencies:
- - html
- test:debug
- - dist
-