move PR build to CI workflow to save build time

pull/16094/head
alberhander 4 years ago
parent a0362c5cb1
commit aff5fb346a

@ -106,47 +106,4 @@ steps:
echo '** Skipping, this is not a push to master **'
fi
# Build and push image: pull request
- name: gcr.io/cloud-builders/docker
entrypoint: /bin/bash
args:
- -c
- |
set -x
if [ ! -z "${_PR_NUMBER}" ] && [ ! "${_HEAD_BRANCH}" == 'master' ]
then
echo '** Pull request to master **'
# Attempts to pull a tag for head branch, if doesn't exists then pulls latest to use cache.
echo 'Pulling most recent image for head branch...'
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
if [ ! -z "$?" ]
then
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
docker tag gcr.io/cartodb-on-gcp-main-artifacts/builder:latest gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
fi
echo 'Building images...'
docker build --build-arg BUNDLE_JOBS=4 --build-arg COMPILE_ASSETS=true -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}--${SHORT_SHA} --cache-from gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH} .
docker build -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${_HEAD_BRANCH} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${_HEAD_BRANCH}--${SHORT_SHA} -f Dockerfile.resque .
docker build -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${_HEAD_BRANCH} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${_HEAD_BRANCH}--${SHORT_SHA} -f Dockerfile.subscriber .
echo 'Pushing builder image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}--${SHORT_SHA}
echo 'Pushing builder-resque image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${_HEAD_BRANCH}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${_HEAD_BRANCH}--${SHORT_SHA}
echo 'Pushing builder-subscriber image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${_HEAD_BRANCH}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${_HEAD_BRANCH}--${SHORT_SHA}
else
echo '** Skipping, this is not a pull request. **'
fi
timeout: 1800s

@ -75,8 +75,14 @@ steps:
args:
- -c
- |
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
docker build --build-arg BUNDLE_JOBS=16 -t gcr.io/cartodb-on-gcp-main-artifacts/builder:current --cache-from gcr.io/cartodb-on-gcp-main-artifacts/builder:latest .
set -x
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
if [ ! -z "$?" ]
then
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
docker tag gcr.io/cartodb-on-gcp-main-artifacts/builder:latest gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
fi
docker build --build-arg BUNDLE_JOBS=16 -t gcr.io/cartodb-on-gcp-main-artifacts/builder:current gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}--${SHORT_SHA} --cache-from gcr.io/cartodb-on-gcp-main-artifacts/builder:latest .
# Run tests
- name: 'docker/compose:1.22.0'

@ -75,20 +75,33 @@ steps:
args:
- -c
- |
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
docker build --build-arg BUNDLE_JOBS=16 -t gcr.io/cartodb-on-gcp-main-artifacts/builder:current --cache-from gcr.io/cartodb-on-gcp-main-artifacts/builder:latest .
set -x
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
if [ ! -z "$?" ]
then
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
docker tag gcr.io/cartodb-on-gcp-main-artifacts/builder:latest gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
fi
docker build --build-arg BUNDLE_JOBS=16 -t gcr.io/cartodb-on-gcp-main-artifacts/builder:current gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}--${SHORT_SHA} --cache-from gcr.io/cartodb-on-gcp-main-artifacts/builder:latest .
# Run tests
- name: 'docker/compose:1.22.0'
args: ['-f', 'docker-compose-pg12.yml', 'up', '--build', '-d']
timeout: 900s
# Push builder-tests image to registry to use it as cache on next builds
# Push current branch image to registry
- name: gcr.io/cloud-builders/docker
entrypoint: /bin/bash
args:
- -c
- 'docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-tests:latest'
- |
set -x
if [ ! -z "${_HEAD_BRANCH}" ] && [ ! "${_HEAD_BRANCH}" == 'master' ]
then
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}--${SHORT_SHA}
fi
# Run tests
- name: 'docker/compose:1.22.0'
args: ['-f', 'docker-compose-pg12.yml', 'up', '--build', '-d']
timeout: 900s
- name: gcr.io/cloud-builders/docker
args: ['exec', '-i', 'builder_1', 'bash', '-c', '/cartodb/runParallelTests.sh 24' ]

Loading…
Cancel
Save