-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:
binary:release:
stage: build
- before_script:
- - zypper install -y make gcc libedit-devel python python3-PyYAML
script:
- make advent cheat
artifacts:
manpage:
stage: build
- before_script:
- - zypper install -y make asciidoc
script:
- make advent.6
artifacts:
html:
stage: build
- before_script:
- - zypper install -y make asciidoc libxslt
script:
- make html
artifacts:
dist:
stage: build
- before_script:
- - zypper install -y make asciidoc tar gzip
script:
- export VERS=${CI_COMMIT_REF_NAME}
- make dist -e
# 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:
test:release:
stage: test
- before_script:
- - zypper install -y make libedit diffutils
script:
- cd tests
- make
--- /dev/null
+# 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