image: alpine
+variables:
+ GIT_SUBMODULE_STRATEGY: "recursive"
+ GIT_SSL_NO_VERIFY: "true"
+
stages:
- build
- test
stage: build
before_script:
- apk update
- - apk add make gcc musl-dev
+ - apk add make gcc musl-dev python3
+ - pip3 install PyYAML
script:
- make debug
artifacts:
paths:
- advent
+ - cheat
- "*.gcda"
- "*.gcno"
# cache outputs to reduce the build time
stage: build
before_script:
- apk update
- - apk add make gcc musl-dev
+ - apk add make gcc musl-dev python3
+ - pip3 install PyYAML
script:
- - make advent
+ - make advent cheat
artifacts:
paths:
- advent
+ - cheat
# cache outputs to reduce the build time
cache:
paths:
- apk add make gcc
- apk add lcov --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
script:
- - cd tests
- - make
- - cd ..
- - lcov -t "advent" -o advent.info -c -d .
- - genhtml -o coverage advent.info
+ - make coverage
artifacts:
paths:
- coverage
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