Files
docker-xubuntu/.gitlab-ci.yml
Héctor Molinero Fernández d48998e06c Updated binfmt targets
2019-11-03 16:26:25 +01:00

132 lines
2.8 KiB
YAML

stages:
- "build:images"
- "push:images"
- "push:manifests"
variables:
DOCKER_HOST: "tcp://dockerd:2376"
DOCKER_TLS_SAN: "DNS:dockerd"
DOCKER_TLS_CERTDIR: "/certs"
DOCKER_DRIVER: "overlay2"
default:
image: "docker.io/docker:stable"
services:
- name: "docker.io/docker:dind"
alias: "dockerd"
.cmds:
- &cmd_install_build_packages "apk add --no-cache coreutils git m4 make xz"
- &cmd_install_push_packages "apk add --no-cache coreutils git make xz"
- &cmd_docker_login_registry "docker login -u \"${CI_REGISTRY_USER:?}\" -p \"${CI_REGISTRY_PASSWORD:?}\" \"${CI_REGISTRY:?}\""
.regexes:
- &regex_version "/^v[0-9]+$/"
build:images:native:
stage: "build:images"
except:
- *regex_version
before_script:
- *cmd_install_build_packages
script:
- "make build-native-image save-native-image"
artifacts:
expire_in: "1 day"
paths:
- "./dist/"
build:images:amd64:
stage: "build:images"
only:
- *regex_version
before_script:
- *cmd_install_build_packages
script:
- "make binfmt-register"
- "make build-amd64-image save-amd64-image"
artifacts:
expire_in: "1 week"
paths:
- "./dist/"
build:images:arm64v8:
stage: "build:images"
only:
- *regex_version
before_script:
- *cmd_install_build_packages
script:
- "make binfmt-register"
- "make build-arm64v8-image save-arm64v8-image"
artifacts:
expire_in: "1 week"
paths:
- "./dist/"
build:images:arm32v7:
stage: "build:images"
only:
- *regex_version
before_script:
- *cmd_install_build_packages
script:
- "make binfmt-register"
- "make build-arm32v7-image save-arm32v7-image"
artifacts:
expire_in: "1 week"
paths:
- "./dist/"
push:images:amd64:
stage: "push:images"
dependencies:
- "build:images:amd64"
only:
- *regex_version
before_script:
- *cmd_install_push_packages
- *cmd_docker_login_registry
script:
- "make load-amd64-image push-amd64-image"
push:images:arm64v8:
stage: "push:images"
dependencies:
- "build:images:arm64v8"
only:
- *regex_version
before_script:
- *cmd_install_push_packages
- *cmd_docker_login_registry
script:
- "make load-arm64v8-image push-arm64v8-image"
push:images:arm32v7:
stage: "push:images"
dependencies:
- "build:images:arm32v7"
only:
- *regex_version
before_script:
- *cmd_install_push_packages
- *cmd_docker_login_registry
script:
- "make load-arm32v7-image push-arm32v7-image"
push:manifests:cross:
stage: "push:manifests"
dependencies:
- "push:images:amd64"
- "push:images:arm64v8"
- "push:images:arm32v7"
only:
- *regex_version
variables:
DOCKER_CLI_EXPERIMENTAL: "enabled"
before_script:
- *cmd_install_push_packages
- *cmd_docker_login_registry
script:
- "make push-cross-manifest"