From: Jason Ninneman Date: Tue, 12 Jan 2021 04:41:09 +0000 (-0700) Subject: Overhaul CI pipeline to use a custom Ubuntu-based Docker image. X-Git-Tag: 1.10~19 X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=commitdiff_plain;h=be3457abebf606c9251b0708b6add104cdbb8a15 Overhaul CI pipeline to use a custom Ubuntu-based Docker image. --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f9ce742..0d0ab9d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,15 +1,26 @@ -image: opensuse/tumbleweed - 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: - - zypper install -y make gcc libedit-devel libasan5 libubsan1 python python3-PyYAML lcov script: - make debug artifacts: @@ -22,8 +33,6 @@ binary:debug: binary:release: stage: build - before_script: - - zypper install -y make gcc libedit-devel python python3-PyYAML script: - make advent cheat artifacts: @@ -36,8 +45,6 @@ binary:release: manpage: stage: build - before_script: - - zypper install -y make asciidoc script: - make advent.6 artifacts: @@ -46,8 +53,6 @@ manpage: html: stage: build - before_script: - - zypper install -y make asciidoc libxslt script: - make html artifacts: @@ -56,8 +61,6 @@ html: dist: stage: build - before_script: - - zypper install -y make asciidoc tar gzip script: - export VERS=${CI_COMMIT_REF_NAME} - make dist -e @@ -68,8 +71,6 @@ dist: # run tests using the binary built before test:debug: stage: test - before_script: - - zypper install -y make gcc libedit-devel libasan5 libubsan1 python python3-PyYAML lcov diffutils script: - make coverage artifacts: @@ -80,8 +81,6 @@ test:debug: test:release: stage: test - before_script: - - zypper install -y make libedit diffutils script: - cd tests - make diff --git a/Dockerfile.ci b/Dockerfile.ci new file mode 100644 index 0000000..f7dcab9 --- /dev/null +++ b/Dockerfile.ci @@ -0,0 +1,10 @@ +# This image is built by the Gitlab CI pipeline to be used in subsequent +# pipeline steps. + +FROM ubuntu:focal + + # tell apt not to ask for any user input +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update +RUN apt-get install --yes --no-install-recommends make gcc-10 libedit-dev libasan6 libubsan1 python3 python3-yaml lcov asciidoc libxslt1.1 pkg-config docbook-xml xsltproc