- deploy
# build advent itself
-binary:
+binary:debug:
stage: build
before_script:
- apk update
- apk add make gcc musl-dev
script:
- - make advent
+ - make debug
artifacts:
paths:
- advent
paths:
- "*.o"
+binary:release:
+ stage: build
+ before_script:
+ - apk update
+ - apk add make gcc musl-dev
+ script:
+ - make advent
+ artifacts:
+ paths:
+ - advent
+ # cache outputs to reduce the build time
+ cache:
+ paths:
+ - "*.o"
+
manpage:
stage: build
before_script:
- apk update
- apk add make asciidoc
script:
- - make .asc.6
+ - make .adoc.6
artifacts:
paths:
- advent.6
- apk update
- apk add make asciidoc libxslt
script:
- - make .asc.html
+ - make html
artifacts:
paths:
- - advent.html
+ - "*.html"
# run tests using the binary built before
-test:
+test:debug:
stage: test
before_script:
- apk update
artifacts:
paths:
- coverage
+ dependencies:
+ - binary:debug
+
+test:release:
+ stage: test
+ before_script:
+ - apk update
+ - apk add make
+ script:
+ - cd tests
+ - make
+ - cd ..
+ dependencies:
+ - binary:release
pages:
stage: deploy
script:
+ - mkdir public
- mv coverage public
+ - "mv *.html public"
artifacts:
paths:
- public
only:
- master
+ dependencies:
+ - html
+ - test:debug
# Makefile for the open-source release of adventure 2.5
CC?=gcc
-CCFLAGS=-std=c99 -O0 --coverage
+CCFLAGS=-std=c99
LIBS=
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
refresh: advent.html
shipper -N -w version=$(VERS) | sh -e -x
+
+debug: CCFLAGS += -O0 --coverage
+debug: advent
* a file of link:hints.html[hints]. And these are hints, not spoilers.
+* the latest link:coverage[code coverage analysis].
+
// end