blob: 9bfe17d3b5743299d305b24c24cf36698c0078d4 [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
{% from 'shared_jinja.yml' import github_access with context %}
{% from 'shared_jinja.yml' import init_retry with context %}
{% macro common_instance_params(test) -%}
GCP_PROJECT: ((gcp-project))
CPUS: {{ test.CPUS }}
RAM: {{ test.RAM }}
{%- endmacro %}
{% macro common_test_params(test) -%}
{%- if test.GRADLE_TASK_OPTIONS -%}
GRADLE_TASK_OPTIONS: {{ test.GRADLE_TASK_OPTIONS }}
{%- endif %}
MAINTENANCE_VERSION: ((geode-build-branch ))
SERVICE_ACCOUNT: ((!concourse-gcp-account))
{%- endmacro %}
---
resource_types:
- name: maven-resource
type: docker-image
source:
repository: nulldriver/maven-resource
tag: latest
- name: concourse-metadata-resource
type: docker-image
source:
password: ((!docker-password))
repository: gcr.io/((gcp-project))/((pipeline-prefix))concourse-metadata-resource
tag: latest
username: ((!docker-username))
resources:
- name: geode-examples
type: git
source:
uri: https://github.com/{{repository.fork}}/geode-examples.git
branch: {{ repository.branch }}
depth: 10
- name: geode-ci
type: git
source:
depth: 1
uri: https://github.com/{{repository.fork}}/geode.git
branch: {{ repository.branch }}
paths:
- ci/pipelines/geode-build/*
- ci/scripts/*
- name: concourse-metadata-resource
type: concourse-metadata-resource
source: {}
- name: 24h
type: time
source: {interval: 24h}
- name: alpine-tools-image
type: docker-image
source:
username: ((docker-username))
password: ((docker-password))
repository: gcr.io/((gcp-project))/((pipeline-prefix))alpine-tools
tag: latest
jobs:
- name: {{examples_test.name}}
public: true
serial: true
plan:
- aggregate:
- get: geode-ci
- get: alpine-tools-image
- aggregate:
- get: geode-examples
trigger: true
- get: 24h
trigger: true
- do:
- put: concourse-metadata-resource
{{ init_retry()|indent(6) }}
- task: create_instance
image: alpine-tools-image
config:
platform: linux
params:
{{ common_instance_params(examples_test) | indent(12) }}
GEODE_BRANCH: {{repository.branch}}
GEODE_FORK: {{repository.fork}}
run:
path: geode-ci/ci/scripts/create_instance.sh
inputs:
- name: concourse-metadata-resource
- name: geode-ci
- name: attempts-log
path: old
outputs:
- name: instance-data
- name: attempts-log
path: new
timeout: 15m
attempts: 10
- task: rsync_code_up
image: alpine-tools-image
config:
platform: linux
run:
path: geode-ci/ci/scripts/rsync_code_up.sh
inputs:
- name: geode-ci
- name: geode-examples
path: geode
- name: instance-data
timeout: 5m
- task: build
image: alpine-tools-image
config:
platform: linux
params:
JAVA_BUILD_VERSION: {{ java_build_version.version }}
GRADLE_TASK: {{ examples_test.GRADLE_TASK }}
{{ common_test_params(examples_test) | indent(12) }}
run:
path: geode-ci/ci/scripts/execute_build_examples.sh
inputs:
- name: geode-ci
- name: geode-examples
path: geode
- name: instance-data
outputs:
- name: results
ensure:
do:
- task: delete_instance
image: alpine-tools-image
config:
platform: linux
run:
path: geode-ci/ci/scripts/delete_instance.sh
inputs:
- name: geode-ci
- name: instance-data
timeout: 1h