gitlab-build-images/.gitlab-ci.yml
Zeger-Jan van de Weg 2a7a78a829
Add Golang 1.11 for build images
Go released a new version this week; https://blog.golang.org/go1.11
which makes go 1.9 EOL. To remove that version from our testing matrix,
we should make sure we support 1.11 first.

This only creates the 1.11 build images, other projects need to do the
cascading changes.
2018-08-26 09:37:43 +02:00

214 lines
8.9 KiB
YAML

image: docker:git
stages:
- build
- test
- automation
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay
before_script:
- docker login -u "gitlab-ci-token" -p "$CI_JOB_TOKEN" "$CI_REGISTRY"
.test_build: &test_build
stage: test
script:
# Hack to set an array in /bin/sh
# http://unix.stackexchange.com/a/137571
- set -- $CI_JOB_NAME
- docker build -f "Dockerfile.$1" .
except:
- master
.build_and_deploy: &build_and_deploy
stage: build
script:
- docker build -t "$CI_REGISTRY_IMAGE:$CI_JOB_NAME" -f "Dockerfile.$CI_JOB_NAME" .
- docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME"
only:
- master
.test_custom: &test_custom
stage: test
script:
# Hack to set an array in /bin/sh
# http://unix.stackexchange.com/a/137571
- set -- $CI_JOB_NAME
- ./scripts/custom-docker-build $1
except:
- master
.build_and_deploy_custom: &build_and_deploy_custom
stage: build
script:
- ./scripts/custom-docker-build $CI_JOB_NAME -t "$CI_REGISTRY_IMAGE:$CI_JOB_NAME"
- docker push "$CI_REGISTRY_IMAGE:$CI_JOB_NAME"
only:
- master
# Tests
# Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml
ruby-2.3-golang-1.9-git-2.9 test: *test_custom
ruby-2.3-golang-1.9-git-2.14 test: *test_custom
ruby-2.3-golang-1.9-git-2.16 test: *test_custom
ruby-2.3-golang-1.9-git-2.17 test: *test_custom
ruby-2.3-golang-1.9-git-2.18 test: *test_custom
ruby-2.3-golang-1.10-git-2.9 test: *test_custom
ruby-2.3-golang-1.10-git-2.14 test: *test_custom
ruby-2.3-golang-1.10-git-2.16 test: *test_custom
ruby-2.3-golang-1.10-git-2.17 test: *test_custom
ruby-2.3-golang-1.10-git-2.18 test: *test_custom
ruby-2.4-golang-1.9-git-2.9 test: *test_custom
ruby-2.4-golang-1.9-git-2.14 test: *test_custom
ruby-2.4-golang-1.9-git-2.16 test: *test_custom
ruby-2.4-golang-1.9-git-2.17 test: *test_custom
ruby-2.4-golang-1.9-git-2.18 test: *test_custom
ruby-2.4-golang-1.10-git-2.14 test: *test_custom
ruby-2.4-golang-1.10-git-2.16 test: *test_custom
ruby-2.4-golang-1.10-git-2.17 test: *test_custom
ruby-2.4-golang-1.10-git-2.18 test: *test_custom
ruby-2.4-golang-1.11-git-2.14 test: *test_custom
ruby-2.4-golang-1.11-git-2.16 test: *test_custom
ruby-2.4-golang-1.11-git-2.17 test: *test_custom
ruby-2.4-golang-1.11-git-2.18 test: *test_custom
# Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml
ruby-2.4.4-golang-1.9-git-2.18-chrome-65.0-node-8.x-yarn-1.2-postgresql-9.6 test: *test_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-65.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 test: *test_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6 test: *test_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29 test: *test_custom
# Not used anymore (?)
golang-1.9-git-2.9.0 test: *test_custom
golang-1.9-git-2.14 test: *test_custom
golang-1.9-git-2.16 test: *test_custom
golang-1.9-git-2.17 test: *test_custom
golang-1.10-git-2.9.0 test: *test_custom
golang-1.10-git-2.14 test: *test_custom
golang-1.10-git-2.16 test: *test_custom
golang-1.10-git-2.17 test: *test_custom
# Used by https://gitlab.com/gitlab-org/trello-power-up/blob/master/.gitlab-ci.yml (?)
node-8.9-chrome-63.0-yarn-1.2 test: *test_custom
# Used by https://gitlab.com/gitlab-org/distribution/gitlab-provisioner/
ruby-2.3-ansible-2.5.1-terraform-0.11 test: *test_custom
danger test: *test_build
alpine-aws test: *test_build
gitlab-charts-build-base test: *test_build
gitlab-qa test: *test_build
omnibus-gitlab-bionic test: *test_build
omnibus-gitlab-centos6 test: *test_build
omnibus-gitlab-centos7 test: *test_build
omnibus-gitlab-jessie test: *test_build
omnibus-gitlab-opensuse42.3 test: *test_build
omnibus-gitlab-stretch test: *test_build
omnibus-gitlab-trusty test: *test_build
omnibus-gitlab-wheezy test: *test_build
omnibus-gitlab-xenial test: *test_build
release-tools test: *test_build
sitespeed-gitlab test: *test_build
www-gitlab-com-2.4 test: *test_build
# Builds
# Used by Gitaly: https://gitlab.com/gitlab-org/gitaly/blob/master/.gitlab-ci.yml
ruby-2.3-golang-1.9-git-2.9: *build_and_deploy_custom
ruby-2.3-golang-1.9-git-2.14: *build_and_deploy_custom
ruby-2.3-golang-1.9-git-2.16: *build_and_deploy_custom
ruby-2.3-golang-1.9-git-2.17: *build_and_deploy_custom
ruby-2.3-golang-1.9-git-2.18: *build_and_deploy_custom
ruby-2.3-golang-1.10-git-2.9: *build_and_deploy_custom
ruby-2.3-golang-1.10-git-2.14: *build_and_deploy_custom
ruby-2.3-golang-1.10-git-2.16: *build_and_deploy_custom
ruby-2.3-golang-1.10-git-2.17: *build_and_deploy_custom
ruby-2.3-golang-1.10-git-2.18: *build_and_deploy_custom
ruby-2.4-golang-1.9-git-2.9: *build_and_deploy_custom
ruby-2.4-golang-1.9-git-2.14: *build_and_deploy_custom
ruby-2.4-golang-1.9-git-2.16: *build_and_deploy_custom
ruby-2.4-golang-1.9-git-2.17: *build_and_deploy_custom
ruby-2.4-golang-1.9-git-2.18: *build_and_deploy_custom
ruby-2.4-golang-1.10-git-2.14: *build_and_deploy_custom
ruby-2.4-golang-1.10-git-2.16: *build_and_deploy_custom
ruby-2.4-golang-1.10-git-2.17: *build_and_deploy_custom
ruby-2.4-golang-1.10-git-2.18: *build_and_deploy_custom
# Used by GitLab CE/EE: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/.gitlab-ci.yml
ruby-2.4.4-golang-1.9-git-2.18-chrome-65.0-node-8.x-yarn-1.2-postgresql-9.6: *build_and_deploy_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-65.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29: *build_and_deploy_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6: *build_and_deploy_custom
ruby-2.4.4-golang-1.9-git-2.18-chrome-67.0-node-8.x-yarn-1.2-postgresql-9.6-graphicsmagick-1.3.29: *build_and_deploy_custom
# Used by https://gitlab.com/gitlab-org/trello-power-up/blob/master/.gitlab-ci.yml (?)
node-8.9-chrome-63.0-yarn-1.2: *build_and_deploy_custom
# Not used anymore (?)
golang-1.8.6-git-2.9.0: *build_and_deploy_custom
golang-1.8.6-git-2.14: *build_and_deploy_custom
golang-1.9-git-2.9.0: *build_and_deploy_custom
golang-1.9-git-2.14: *build_and_deploy_custom
golang-1.9-git-2.16: *build_and_deploy_custom
golang-1.9-git-2.17: *build_and_deploy_custom
golang-1.10-git-2.9.0: *build_and_deploy_custom
golang-1.10-git-2.14: *build_and_deploy_custom
golang-1.10-git-2.16: *build_and_deploy_custom
golang-1.10-git-2.17: *build_and_deploy_custom
# Used by https://gitlab.com/gitlab-org/distribution/gitlab-provisioner/
ruby-2.3-ansible-2.5.1-terraform-0.11: *build_and_deploy_custom
danger: *build_and_deploy
alpine-aws: *build_and_deploy
gitlab-charts-build-base: *build_and_deploy
gitlab-qa: *build_and_deploy
omnibus-gitlab-bionic: *build_and_deploy
omnibus-gitlab-centos6: *build_and_deploy
omnibus-gitlab-centos7: *build_and_deploy
omnibus-gitlab-jessie: *build_and_deploy
omnibus-gitlab-opensuse42.3: *build_and_deploy
omnibus-gitlab-stretch: *build_and_deploy
omnibus-gitlab-trusty: *build_and_deploy
omnibus-gitlab-wheezy: *build_and_deploy
omnibus-gitlab-xenial: *build_and_deploy
release-tools: *build_and_deploy
sitespeed-gitlab: *build_and_deploy
www-gitlab-com-2.4: *build_and_deploy
cache-google-chrome:
stage: automation
variables:
MOUNT_POINT: /builds/$CI_PROJECT_PATH/mnt
script:
- mkdir -p "$MOUNT_POINT"
- cp scripts/cache-google-chrome $MOUNT_POINT
- docker run -e "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" -e "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" -v "$MOUNT_POINT:/mnt" ubuntu:16.04 /mnt/cache-google-chrome
# Old Google Chrome images are listed here for reference:
# These still exist in our docker repisotiry, but they cannot be built anymore since
# Google yanks them from their PPA. To build variations of these requires an image based on
# one of the images below.
# See https://gitlab.com/gitlab-org/gitlab-build-images/merge_requests/54 for an example
# ruby-2.3.3-golang-1.8-git-2.7-chrome-59.0-node-7.1-postgresql-9.6: *test_custom
# ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6: *test_custom
# ruby-2.3.3-golang-1.8-git-2.13-chrome-59.0-node-7.1-postgresql-9.6: *test_custom
# ruby-2.3.3-golang-1.8-git-2.13-chrome-60.0-node-7.1-postgresql-9.6: *test_custom
# ruby-2.3.3-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6 test: *test_custom
# ruby-2.3.5-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6 test: *test_custom
# ruby-2.3.5-golang-1.8-git-2.13-chrome-62.0-node-8.x-yarn-1.2-postgresql-9.6 test: *test_custom
# ruby-2.3.3-golang-1.8-git-2.7-chrome-59.0-node-7.1-postgresql-9.6: *build_and_deploy_custom
# ruby-2.3.3-golang-1.8-git-2.7-chrome-60.0-node-7.1-postgresql-9.6: *build_and_deploy_custom
# ruby-2.3.3-golang-1.8-git-2.13-chrome-59.0-node-7.1-postgresql-9.6: *build_and_deploy_custom
# ruby-2.3.3-golang-1.8-git-2.13-chrome-60.0-node-7.1-postgresql-9.6: *build_and_deploy_custom
# ruby-2.3.3-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6: *build_and_deploy_custom
# ruby-2.3.5-golang-1.8-git-2.13-chrome-61.0-node-8.x-yarn-1.0-postgresql-9.6: *build_and_deploy_custom
# ruby-2.3.5-golang-1.8-git-2.13-chrome-62.0-node-8.x-yarn-1.2-postgresql-9.6: *build_and_deploy_custom