| # |
| # 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 pipeline_prefix with context %} |
| {% from 'shared_jinja.yml' import github_access with context %} |
| {% from 'shared_jinja.yml' import init_retry with context %} |
| |
| --- |
| |
| {% macro plan_resource_gets(test) %} |
| - get: geode-ci |
| passed: |
| - Build |
| - aggregate: |
| - get: geode |
| trigger: true |
| passed: |
| - Build |
| - get: geode-build-version |
| trigger: true |
| passed: |
| - Build |
| version: every |
| {% endmacro %} |
| |
| {%- macro deep_merge(a, b): %} |
| {%- if b is defined %} |
| {%- for k,v in b.items(): %} |
| {%- if v is not defined: %} |
| {%- do a.pop(k) %} |
| {%- else: %} |
| {%- if v is mapping: %} |
| {%- if a[k] is not mapping: %} |
| {%- do a.update({ k: { } }) %} |
| {%- endif %} |
| {%- do deep_merge(a[k], v) %} |
| {%- else: %} |
| {%- do a.update({ k: v }) %} |
| {%- endif %} |
| {% endif %} |
| {%- endfor %} |
| {%- endif %} |
| {%- endmacro %} |
| |
| {%- do deep_merge(a, b) %} |
| |
| {% macro common_instance_params(test) -%} |
| GCP_PROJECT: ((gcp-project)) |
| CPUS: {{ test.CPUS }} |
| RAM: {{ test.RAM }} |
| {%- endmacro %} |
| |
| {% macro common_test_params(test) -%} |
| {%- if test.CALL_STACK_TIMEOUT -%} |
| CALL_STACK_TIMEOUT: {{ test.CALL_STACK_TIMEOUT }} |
| {%- endif %} |
| {%- if test.GRADLE_TASK_OPTIONS -%} |
| GRADLE_TASK_OPTIONS: {{ test.GRADLE_TASK_OPTIONS }} |
| {%- endif %} |
| DUNIT_PARALLEL_FORKS: {{ test.DUNIT_PARALLEL_FORKS }} |
| MAINTENANCE_VERSION: ((geode-build-branch )) |
| BUILD_BRANCH: ((geode-build-branch)) |
| PARALLEL_DUNIT: {{ test.PARALLEL_DUNIT }} |
| {% if test.PARALLEL_GRADLE is defined %} |
| PARALLEL_GRADLE: {{ test.PARALLEL_GRADLE }} |
| {% else %} |
| PARALLEL_GRADLE: true |
| {% endif %} |
| ARTIFACT_BUCKET: ((artifact-bucket)) |
| SERVICE_ACCOUNT: ((concourse-gcp-account)) |
| GRADLE_GLOBAL_ARGS: ((gradle-global-args)) |
| {%- endmacro %} |
| |
| {% macro all_gating_jobs() %} |
| {%- for test in (tests) if not test.name=="StressNew" -%} |
| {%- for java_test_version in (java_test_versions) if ((not test.ONLY_JDK is defined) or test.ONLY_JDK==java_test_version.version) %} |
| - {{test.name}}Test{{java_test_version.name}} |
| {%- endfor -%} |
| {%- endfor -%} |
| {%- for run_var in (benchmarks.flavors) %} |
| - Benchmark{{ run_var.title }} |
| {%- endfor -%} |
| {% endmacro %} |
| |
| groups: |
| - name: main |
| jobs: |
| - {{ build_test.name }} |
| {{- all_gating_jobs() | indent(2) }} |
| - UpdatePassingTokens |
| {%- if repository.upstream_fork != "apache" or repository.branch == "develop" or repository.branch.startswith("support/") %} |
| - PublishArtifacts |
| {%- endif %} |
| - name: complete |
| jobs: |
| - {{ build_test.name }} |
| {{- all_gating_jobs() | indent(2) }} |
| {%- if repository.upstream_fork != "apache" or repository.branch == "develop" or repository.branch.startswith("support/") %} |
| - PublishArtifacts |
| {%- endif %} |
| - UpdatePassingTokens |
| - name: linux |
| jobs: |
| - {{ build_test.name }} |
| {%- for test in (tests) if test.PLATFORM=="linux" and not test.name=="StressNew" -%} |
| {% for java_test_version in (java_test_versions) if ((not test.ONLY_JDK is defined) or test.ONLY_JDK==java_test_version.version) %} |
| - {{test.name}}Test{{java_test_version.name}} |
| {%- endfor -%} |
| {%- endfor %} |
| {%- for flavor in (benchmarks.flavors) %} |
| - Benchmark{{flavor.title}} |
| {%- endfor %} |
| - name: windows |
| jobs: |
| - {{ build_test.name }} |
| {%- for test in (tests) if test.PLATFORM=="windows" -%} |
| {% for java_test_version in (java_test_versions) if ((not test.ONLY_JDK is defined) or test.ONLY_JDK==java_test_version.version) %} |
| - {{test.name}}Test{{java_test_version.name}} |
| {%- endfor -%} |
| {%- endfor %} |
| {%- for java_test_version in (java_test_versions) %} |
| - name: {{java_test_version.name}} |
| jobs: |
| - {{ build_test.name }} |
| {%- for test in (tests) if (not test.name=="StressNew") and ((not test.ONLY_JDK is defined) or test.ONLY_JDK==java_test_version.version) %} |
| - {{test.name}}Test{{java_test_version.name}} |
| {%- endfor -%} |
| {%- endfor %} |
| - name: Benchmarks |
| jobs: |
| {%- for run_var in (benchmarks.flavors) %} |
| - Benchmark{{ run_var.title }} |
| {%- endfor %} |
| - name: Semver Management |
| jobs: |
| {%- for semverPiece in ['major', 'minor', 'patch'] %} |
| - Bump{{ semverPiece.title() }} |
| {%- endfor %} |
| |
| resources: |
| - name: concourse-metadata-resource |
| type: concourse-metadata-resource |
| source: {} |
| - name: geode |
| type: git |
| source: |
| branch: ((geode-build-branch)) |
| ignore_paths: |
| - ci/* |
| - dev-tools/release/* |
| - "*.md" |
| - CODEOWNERS |
| {{ github_access() | indent(4) }} |
| - name: geode-ci |
| type: git |
| source: |
| branch: ((geode-build-branch)) |
| depth: 1 |
| paths: |
| - ci/* |
| {{ github_access() | indent(4) }} |
| - name: geode-benchmarks |
| type: git |
| source: |
| branch: {{benchmarks.benchmark_branch}} |
| depth: 1 |
| uri: https://github.com/((geode-fork))/geode-benchmarks.git |
| - name: geode-build-version |
| type: semver |
| source: |
| bucket: ((artifact-bucket)) |
| driver: gcs |
| initial_version: {{ metadata.initial_version }} |
| json_key: ((!concourse-gcp-key)) |
| key: semvers/((pipeline-prefix))((geode-build-branch))/number |
| - name: geode-passing-tokens |
| type: json-gcs-resource |
| source: |
| bucket: ((artifact-bucket)) |
| json_key: ((concourse-gcp-key)) |
| versioned_file: semvers/((pipeline-prefix))((geode-build-branch))/passing-build-tokens.json |
| - 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 |
| |
| - name: windows-builder-image-family |
| type: gci |
| source: |
| key: ((concourse-gcp-key)) |
| family_project: ((gcp-project)) |
| family: ((pipeline-prefix))windows-geode-builder |
| |
| - name: linux-builder-image-family |
| type: gci |
| source: |
| key: ((concourse-gcp-key)) |
| family_project: ((gcp-project)) |
| family: ((pipeline-prefix))linux-geode-builder |
| |
| |
| resource_types: |
| - name: gci |
| type: registry-image |
| source: |
| repository: smgoller/gci-resource |
| - 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)) |
| - name: gcs-resource |
| type: docker-image |
| source: |
| repository: frodenas/gcs-resource |
| - name: json-gcs-resource |
| type: docker-image |
| source: |
| username: ((docker-username)) |
| password: ((docker-password)) |
| repository: gcr.io/((gcp-project))/((pipeline-prefix))gcs-resource-with-json-content |
| tag: latest |
| jobs: |
| {% for semverPiece in ['major', 'minor', 'patch'] -%} |
| - name: Bump{{ semverPiece.title() }} |
| serial: true |
| plan: |
| - get: geode-build-version |
| params: { bump: {{ semverPiece }}, |
| pre: ((semver-prerelease-token)), |
| pre_without_version: true } |
| - put: geode-build-version |
| params: |
| file: geode-build-version/number |
| {% endfor %} |
| - name: {{build_test.name}} |
| public: true |
| max_in_flight: {{build_test.MAX_IN_FLIGHT}} |
| plan: |
| - aggregate: |
| - get: geode-ci |
| - get: alpine-tools-image |
| - get: geode |
| trigger: true |
| - get: geode-build-version |
| params: |
| pre: ((semver-prerelease-token)) |
| - get: {{ build_test.PLATFORM }}-builder-image-family |
| - do: |
| - put: concourse-metadata-resource |
| {{ init_retry()|indent(4) }} |
| - task: create_instance |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| {{ common_instance_params(build_test) | indent(10) }} |
| GEODE_BRANCH: {{repository.branch}} |
| GEODE_FORK: {{repository.fork}} |
| JAVA_BUILD_VERSION: {{ java_build_version.version }} |
| IMAGE_FAMILY_NAME: ((pipeline-prefix)){{ build_test.PLATFORM }}-geode-builder |
| run: |
| path: geode-ci/ci/scripts/create_instance.sh |
| inputs: |
| - name: attempts-log |
| path: old |
| - name: concourse-metadata-resource |
| - name: geode |
| - name: geode-ci |
| - name: {{ build_test.PLATFORM }}-builder-image-family |
| path: builder-image |
| outputs: |
| - name: attempts-log |
| path: new |
| - name: instance-data |
| timeout: 20m |
| attempts: 5 |
| on_failure: |
| 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 |
| - aggregate: |
| - put: geode-build-version |
| params: |
| file: geode-build-version/number |
| - 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 |
| - name: instance-data |
| timeout: 15m |
| attempts: 5 |
| on_failure: |
| 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 |
| - task: build |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| JAVA_BUILD_VERSION: {{ java_build_version.version }} |
| GRADLE_TASK: {{ build_test.GRADLE_TASK }} |
| {{ common_test_params(build_test) | indent(8) }} |
| run: |
| path: geode-ci/ci/scripts/execute_build.sh |
| inputs: |
| - name: geode-ci |
| - name: geode |
| - name: instance-data |
| - name: geode-build-version |
| outputs: |
| - name: built-geode |
| - name: results |
| timeout: {{build_test.EXECUTE_TEST_TIMEOUT}} |
| ensure: |
| do: |
| - task: rsync_code_down |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| JAVA_BUILD_VERSION: {{ java_build_version.version }} |
| run: |
| path: geode-ci/ci/scripts/rsync_code_down.sh |
| inputs: |
| - name: geode-ci |
| - name: geode |
| - name: instance-data |
| outputs: |
| - name: geode-results |
| timeout: 15m |
| attempts: 5 |
| ensure: |
| do: |
| - aggregate: |
| - task: archive_results |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| ARTIFACT_SLUG: {{build_test.ARTIFACT_SLUG}}-{{java_build_version.name}} |
| GRADLE_TASK: {{build_test.GRADLE_TASK}} |
| MAINTENANCE_VERSION: ((geode-build-branch)) |
| ARTIFACT_BUCKET: ((artifact-bucket)) |
| SERVICE_ACCOUNT: ((!concourse-gcp-account)) |
| TAR_GEODE_BUILD_ARTIFACTS: true |
| run: |
| path: geode-ci/ci/scripts/archive_results.sh |
| inputs: |
| - name: geode |
| - name: concourse-metadata-resource |
| - name: geode-ci |
| - name: geode-build-version |
| - name: geode-results |
| timeout: 1h |
| - task: delete_instance |
| image: alpine-tools-image |
| config: |
| platform: linux |
| run: |
| path: geode-ci/ci/scripts/delete_instance.sh |
| inputs: |
| - name: geode |
| - name: geode-ci |
| - name: instance-data |
| timeout: 1h |
| |
| - name: UpdatePassingTokens |
| public: true |
| serial: true |
| plan: |
| - aggregate: |
| - get: alpine-tools-image |
| - get: geode |
| passed: &update-token-passed-anchor |
| {%- if repository.upstream_fork != "apache" or repository.branch == "develop" or repository.branch.startswith("support/") %} |
| - PublishArtifacts |
| {% else %} |
| {{- all_gating_jobs() | indent(6) }} |
| {% endif %} |
| trigger: true |
| - get: geode-build-version |
| trigger: true |
| passed: *update-token-passed-anchor |
| - task: couple-sha-and-build-id |
| image: alpine-tools-image |
| config: |
| platform: linux |
| inputs: |
| - name: geode |
| - name: geode-build-version |
| outputs: |
| - name: geode-passing-tokens |
| run: |
| path: bash |
| args: |
| - -cx |
| - | |
| pushd geode |
| GEODE_SHA=$(git rev-parse HEAD) |
| popd |
| GEODE_SEMVER=$(cat geode-build-version/number) |
| |
| GS_PATH=gs://((artifact-bucket))/semvers/((pipeline-prefix))((geode-build-branch))/passing-build-tokens.json |
| CURRENT_PASSING_SHA=$(gsutil cat ${GS_PATH} | jq -r .ref) |
| set -e |
| # Check that the incoming GEODE_SHA is a descendent of the currently stored value. |
| # Keeps us from winding back the repository in the case of an out-of-order pipeline pass |
| if [ -n "${CURRENT_PASSING_SHA}" ]; then |
| cd geode |
| if git merge-base --is-ancestor ${CURRENT_PASSING_SHA} ${GEODE_SHA}; then |
| cat > ../geode-passing-tokens/passing-build-tokens.json <<JSON |
| { |
| "ref": "${GEODE_SHA}", |
| "semver": "${GEODE_SEMVER}" |
| } |
| JSON |
| fi |
| fi |
| - aggregate: |
| - put: geode-passing-tokens |
| params: |
| file: geode-passing-tokens/passing-build-tokens.json |
| |
| {% for run_var in (benchmarks.flavors) %} |
| - name: Benchmark{{ run_var.title }} |
| public: true |
| max_in_flight: {{ run_var.max_in_flight }} |
| plan: |
| - get: geode-ci |
| passed: &benchmark-inputs |
| - Build |
| - get: alpine-tools-image |
| - aggregate: |
| - get: geode |
| passed: *benchmark-inputs |
| trigger: true |
| - get: geode-benchmarks |
| - get: geode-build-version |
| trigger: true |
| passed: *benchmark-inputs |
| version: every |
| - put: concourse-metadata-resource |
| - do: |
| - task: run_benchmarks{{ run_var.title }} |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| AWS_ACCESS_KEY_ID: ((benchmarks-access-key-id)) |
| AWS_SECRET_ACCESS_KEY: ((benchmarks-secret-access-key)) |
| AWS_DEFAULT_REGION: us-west-2 |
| AWS_REGION: us-west-2 |
| ARTIFACT_BUCKET: ((artifact-bucket)) |
| BENCHMARKS_BRANCH: {{benchmarks.benchmark_branch}} |
| BASELINE_BRANCH: {{benchmarks.baseline_branch}} |
| BASELINE_VERSION: {{benchmarks.baseline_version}} |
| FLAGS: {{ run_var.flag }} |
| TAG_POSTFIX: {{ run_var.title }} |
| TEST_OPTIONS: {{ run_var.options }} |
| PURPOSE: ((pipeline-prefix))geode-benchmarks |
| run: |
| path: geode-ci/ci/scripts/run_benchmarks.sh |
| inputs: |
| - name: geode |
| - name: geode-ci |
| - name: geode-benchmarks |
| - name: concourse-metadata-resource |
| outputs: |
| - name: results |
| timeout: {{ run_var.timeout }} |
| ensure: |
| do: |
| - task: cleanup_benchmarks |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| AWS_ACCESS_KEY_ID: ((benchmarks-access-key-id)) |
| AWS_SECRET_ACCESS_KEY: ((benchmarks-secret-access-key)) |
| AWS_DEFAULT_REGION: us-west-2 |
| AWS_REGION: us-west-2 |
| ARTIFACT_BUCKET: ((artifact-bucket)) |
| BASELINE_BRANCH: {{benchmarks.baseline_branch}} |
| BASELINE_VERSION: {{benchmarks.baseline_version}} |
| FLAGS: {{ run_var.flag }} |
| TAG_POSTFIX: {{ run_var.title }} |
| TEST_OPTIONS: {{ run_var.options }} |
| run: |
| path: geode-ci/ci/scripts/cleanup_benchmarks.sh |
| inputs: |
| - name: geode |
| - name: geode-ci |
| - name: geode-benchmarks |
| - name: concourse-metadata-resource |
| - name: results |
| {% endfor %} |
| {% if repository.upstream_fork != "apache" or repository.branch == "develop" or repository.branch.startswith("support/") %} |
| - name: PublishArtifacts |
| public: true |
| plan: |
| - aggregate: |
| - get: geode-ci |
| passed: &publish-passed-inputs |
| {{- all_gating_jobs() | indent(6) }} |
| - get: alpine-tools-image |
| - get: geode |
| passed: *publish-passed-inputs |
| trigger: true |
| - get: linux-builder-image-family |
| - aggregate: |
| - get: geode-build-version |
| trigger: true |
| passed: *publish-passed-inputs |
| - put: concourse-metadata-resource |
| {{ init_retry()|indent(4) }} |
| - task: create_instance |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| {{ common_instance_params(publish_artifacts) | indent(8) }} |
| GEODE_BRANCH: {{repository.branch}} |
| GEODE_FORK: {{repository.fork}} |
| JAVA_BUILD_VERSION: {{ java_build_version.version }} |
| IMAGE_FAMILY_NAME: ((pipeline-prefix))linux-geode-builder |
| run: |
| path: geode-ci/ci/scripts/create_instance.sh |
| inputs: |
| - name: concourse-metadata-resource |
| - name: geode-ci |
| - name: geode |
| - name: attempts-log |
| path: old |
| - name: linux-builder-image-family |
| path: builder-image |
| outputs: |
| - name: instance-data |
| - name: attempts-log |
| path: new |
| timeout: 20m |
| attempts: 5 |
| - 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 |
| - name: instance-data |
| timeout: 15m |
| attempts: 5 |
| - task: publish |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| MAINTENANCE_VERSION: ((geode-build-branch)) |
| ARTIFACT_BUCKET: ((artifact-bucket)) |
| SERVICE_ACCOUNT: ((!concourse-gcp-account)) |
| JAVA_BUILD_VERSION: {{ java_build_version.version }} |
| MAVEN_SNAPSHOT_BUCKET: ((maven-snapshot-bucket)) |
| GRADLE_GLOBAL_ARGS: ((gradle-global-args)) |
| run: |
| path: geode-ci/ci/scripts/execute_publish.sh |
| inputs: |
| - name: instance-data |
| - name: geode |
| - name: geode-ci |
| - name: geode-build-version |
| ensure: |
| do: |
| - task: delete_instance |
| image: alpine-tools-image |
| config: |
| platform: linux |
| run: |
| path: geode-ci/ci/scripts/delete_instance.sh |
| inputs: |
| - name: geode |
| - name: geode-ci |
| - name: instance-data |
| timeout: 1h |
| |
| {% endif %} |
| |
| {%- for test in tests if not test.name=="StressNew" %} |
| {%- set parameters = {} %} |
| {%- do deep_merge(parameters, test) %} |
| {%- for java_test_version in (java_test_versions) if ((not test.ONLY_JDK is defined) or test.ONLY_JDK==java_test_version.version) %} |
| {%- if java_test_version.override is defined and java_test_version.override[test.name] is defined %} |
| {%- do deep_merge(parameters, java_test_version.override[test.name]) %} |
| {%- endif %} |
| - name: {{test.name}}Test{{java_test_version.name}} |
| max_in_flight: {{parameters.MAX_IN_FLIGHT}} |
| public: true |
| plan: |
| - do: |
| {{- plan_resource_gets(test) |indent(4) }} |
| - put: concourse-metadata-resource |
| - get: alpine-tools-image |
| - get: {{ test.PLATFORM}}-builder-image-family |
| - do: |
| {{ init_retry()|indent(6) }} |
| - task: create_instance-{{java_test_version.name}} |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| {{ common_instance_params(parameters) | indent(12) }} |
| GEODE_BRANCH: {{repository.branch}} |
| GEODE_FORK: {{repository.fork}} |
| JAVA_BUILD_VERSION: {{ java_build_version.version }} |
| JAVA_TEST_VERSION: {{ java_test_version.version }} |
| IMAGE_FAMILY_NAME: ((pipeline-prefix)){{ test.PLATFORM }}-geode-builder |
| run: |
| path: geode-ci/ci/scripts/create_instance.sh |
| inputs: |
| - name: concourse-metadata-resource |
| - name: geode-ci |
| - name: geode |
| - name: attempts-log |
| path: old |
| - name: {{ test.PLATFORM}}-builder-image-family |
| path: builder-image |
| outputs: |
| - name: instance-data-{{java_test_version.name}} |
| path: instance-data |
| - name: attempts-log |
| path: new |
| timeout: 20m |
| attempts: 5 |
| - do: |
| - task: rsync_code_up-{{java_test_version.name}} |
| image: alpine-tools-image |
| config: |
| platform: linux |
| run: |
| path: geode-ci/ci/scripts/rsync_code_up.sh |
| inputs: |
| - name: geode-ci |
| - name: geode |
| - name: instance-data-{{java_test_version.name}} |
| path: instance-data |
| timeout: 15m |
| attempts: 5 |
| - task: execute_tests-{{java_test_version.name}} |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| ARTIFACT_SLUG: {{test.ARTIFACT_SLUG}}-{{java_test_version.name}} |
| JAVA_BUILD_VERSION: {{ java_build_version.version }} |
| JAVA_TEST_VERSION: {{ java_test_version.version }} |
| GRADLE_TASK: {{test.GRADLE_TASK}} |
| {{ common_test_params(parameters) | indent(14) }} |
| run: |
| path: geode-ci/ci/scripts/execute_tests.sh |
| inputs: |
| - name: geode-ci |
| - name: geode |
| - name: instance-data-{{java_test_version.name}} |
| path: instance-data |
| timeout: {{parameters.EXECUTE_TEST_TIMEOUT}} |
| ensure: |
| do: |
| - task: rsync_code_down-{{java_test_version.name}} |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| JAVA_BUILD_VERSION: {{ java_build_version.version }} |
| ARTIFACT_SLUG: {{test.ARTIFACT_SLUG}}-{{java_test_version.name}} |
| run: |
| path: geode-ci/ci/scripts/rsync_code_down.sh |
| inputs: |
| - name: geode |
| - name: geode-ci |
| - name: instance-data-{{java_test_version.name}} |
| path: instance-data |
| outputs: |
| - name: geode-results-{{java_test_version.name}} |
| path: geode-results |
| timeout: 15m |
| attempts: 5 |
| ensure: |
| do: |
| - aggregate: |
| - task: archive_results-{{java_test_version.name}} |
| image: alpine-tools-image |
| config: |
| platform: linux |
| params: |
| ARTIFACT_SLUG: {{test.ARTIFACT_SLUG}}-{{java_test_version.name}} |
| GRADLE_TASK: {{test.GRADLE_TASK}} |
| MAINTENANCE_VERSION: ((geode-build-branch)) |
| ARTIFACT_BUCKET: ((artifact-bucket)) |
| SERVICE_ACCOUNT: ((!concourse-gcp-account)) |
| run: |
| path: geode-ci/ci/scripts/archive_results.sh |
| inputs: |
| - name: geode |
| - name: concourse-metadata-resource |
| - name: geode-ci |
| - name: geode-build-version |
| - name: geode-results-{{java_test_version.name}} |
| path: geode-results |
| timeout: 1h |
| - task: delete_instance-{{java_test_version.name}} |
| image: alpine-tools-image |
| config: |
| platform: linux |
| run: |
| path: geode-ci/ci/scripts/delete_instance.sh |
| inputs: |
| - name: geode |
| - name: geode-ci |
| - name: instance-data-{{java_test_version.name}} |
| path: instance-data |
| timeout: 1h |
| {% endfor -%} |
| {% endfor -%} |