From be3457abebf606c9251b0708b6add104cdbb8a15 Mon Sep 17 00:00:00 2001 From: Jason Ninneman Date: Mon, 11 Jan 2021 21:41:09 -0700 Subject: [PATCH] Overhaul CI pipeline to use a custom Ubuntu-based Docker image. --- .gitlab-ci.yml | 31 +++++++++++++++---------------- Dockerfile.ci | 10 ++++++++++ 2 files changed, 25 insertions(+), 16 deletions(-) create mode 100644 Dockerfile.ci 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 -- 2.31.1