X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=.gitlab-ci.yml;h=0d0ab9d343a90ca642cb5cb72f83e163d8d596d9;hb=refs%2Fmerge-requests%2F286%2Fhead;hp=4a5e791fb82367f7c20d736e02f8f0285c1efe30;hpb=5145170a7622970c8cc21c661768e7d84c8cab01;p=open-adventure.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a5e791..0d0ab9d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,78 +1,78 @@ -image: alpine - stages: + - ci-build - build - test - deploy +default: + image: $CI_REGISTRY_IMAGE:ci + +# build and push Docker image to be used in subsequent steps +ci-build: + stage: ci-build + image: + name: gcr.io/kaniko-project/executor:debug + entrypoint: [""] + script: + - mkdir -p /kaniko/.docker + - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json + - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile.ci --destination $CI_REGISTRY_IMAGE:ci --cache=true + # build advent itself binary:debug: stage: build - before_script: - - apk update - - apk add make gcc musl-dev - script: + script: - make debug artifacts: paths: - advent - - "*.gcda" - - "*.gcno" - # cache outputs to reduce the build time - cache: - paths: + - cheat - "*.o" + - dungeon.c + - dungeon.h binary:release: stage: build - before_script: - - apk update - - apk add make gcc musl-dev - script: - - make advent + 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 script: - - make .adoc.6 + - make advent.6 artifacts: paths: - advent.6 html: stage: build - before_script: - - apk update - - apk add make asciidoc libxslt script: - make html artifacts: paths: - "*.html" +dist: + stage: build + 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: - - apk update - - 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 @@ -81,9 +81,6 @@ test:debug: test:release: stage: test - before_script: - - apk update - - apk add make script: - cd tests - make @@ -96,27 +93,10 @@ pages: script: - mkdir public - mv coverage public - - "mv *.html public" artifacts: paths: - public only: - master dependencies: - - html - test:debug - -package: - stage: deploy - script: - - mv README.adoc README - artifacts: - paths: - - advent - - NEWS - - COPYING - - README - - advent.6 - dependencies: - - binary:release - - manpage