diff options
author | Claudio André <claudioandre.br@gmail.com> | 2018-07-12 17:58:22 -0300 |
---|---|---|
committer | Benjamin Berg <bberg@redhat.com> | 2019-02-04 15:19:31 +0100 |
commit | 92751c580dfe345389563a71bce8f4bd0179880c (patch) | |
tree | 81127e571cecc7380a0bad7993230aab455bb91d /.gitlab-ci.yml | |
parent | 3c66e4f647899548411a80432b30daed45a28183 (diff) | |
download | gnome-settings-daemon-92751c580dfe345389563a71bce8f4bd0179880c.tar.gz |
CI: create and save Docker images in GNOME GitLab
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bf543db4..86161ae9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -156,3 +156,67 @@ msan: variables: BUILD_OPTS: "-Db_sanitize=memory" CC: "clang" + +############################################# +# Create CI Docker Images # +############################################# +.Docker image template: &create_docker_image + image: docker:latest + stage: delivery + services: + - docker:dind + only: + variables: + - $CRON_TASK == "BUILD_CI_IMAGES" + + script: + # Skip the build (if requested) + - | + if [[ -z "${CI_COMMIT_MESSAGE##*'[skip images]'*}" ]]; then + echo "== Nothing to do ==" + exit 0 + fi + + # Get multiarch stuff + - | + if [[ -n "${TARGET_ARCH}" ]]; then + docker run --rm --privileged multiarch/qemu-user-static:register --reset + wget https://github.com/multiarch/qemu-user-static/releases/download/v2.12.0/x86_64_qemu-${TARGET_ARCH}-static.tar.gz + fi + + # Build using the Dockerfile + - docker build -f "$DOCKERFILE" -t "$CI_REGISTRY_IMAGE:$NAME" . + + # Prepare to publish + - docker tag "$CI_REGISTRY_IMAGE:$NAME" "$CI_REGISTRY_IMAGE:job-"$CI_JOB_ID"_$NAME" + - docker images + - docker login ${CI_REGISTRY} -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} + + # Publish (if running on a schedule) + - | + if [[ "${CI_PIPELINE_SOURCE}" == "schedule" ]]; then + docker push "$CI_REGISTRY_IMAGE" + fi + +fedora.dev: + <<: *create_docker_image + variables: + DOCKER_DRIVER: overlay + DOCKERFILE: "build-aux/ci/Dockerfile.fedora.rawhide" + NAME: "fedora.dev" + +fedora.aarch64: + <<: *create_docker_image + variables: + DOCKER_DRIVER: overlay + DOCKERFILE: "build-aux/ci/Dockerfile.arm64v8.fedora.rawhide" + NAME: "fedora.aarch64" + TARGET_ARCH: "aarch64" + +fedora.ppc64le: + <<: *create_docker_image + variables: + DOCKER_DRIVER: overlay + DOCKERFILE: "build-aux/ci/Dockerfile.ppc64le.fedora.rawhide" + NAME: "fedora.ppc64le" + TARGET_ARCH: "ppc64le" |