X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=.gitlab-ci.yml;h=701db5bb0b87ecfd35d5730e941f1f453596ac97;hb=HEAD;hp=1c5a83eb9c3fce4bb4d085593a6128aa30b7c99e;hpb=ee7bacc9ec2d701138586fe2b363702c4f46deee;p=open-adventure.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1c5a83e..b8f4b91 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,15 +1,28 @@ -image: fedora - +# SPDX-FileCopyrightText: (C) Eric S. Raymond +# SPDX-License-Identifier: BSD-2-Clause 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: - - dnf install make gcc libedit-devel libasan libubsan python2 PyYAML lcov -y script: - make debug artifacts: @@ -19,12 +32,9 @@ binary:debug: - "*.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: @@ -37,8 +47,6 @@ binary:release: manpage: stage: build - before_script: - - dnf install make asciidoc -y script: - make advent.6 artifacts: @@ -47,8 +55,6 @@ manpage: html: stage: build - before_script: - - dnf install make asciidoc libxslt -y script: - make html artifacts: @@ -57,8 +63,6 @@ html: dist: stage: build - before_script: - - dnf install make asciidoc -y script: - export VERS=${CI_COMMIT_REF_NAME} - make dist -e @@ -69,24 +73,16 @@ dist: # 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 .. + - make coverage artifacts: paths: - coverage + dependencies: + - binary:debug test:release: stage: test - before_script: - - dnf install make libedit -y script: - cd tests - make