X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=.gitlab-ci.yml;h=0d0ab9d343a90ca642cb5cb72f83e163d8d596d9;hb=60d70705063266ed23b1e86d11145770087f660f;hp=1c5a83eb9c3fce4bb4d085593a6128aa30b7c99e;hpb=ee7bacc9ec2d701138586fe2b363702c4f46deee;p=open-adventure.git diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1c5a83e..0d0ab9d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,15 +1,26 @@ -image: fedora - 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 +30,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 +45,6 @@ binary:release: manpage: stage: build - before_script: - - dnf install make asciidoc -y script: - make advent.6 artifacts: @@ -47,8 +53,6 @@ manpage: html: stage: build - before_script: - - dnf install make asciidoc libxslt -y script: - make html artifacts: @@ -57,8 +61,6 @@ html: dist: stage: build - before_script: - - dnf install make asciidoc -y script: - export VERS=${CI_COMMIT_REF_NAME} - make dist -e @@ -69,24 +71,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