add kokoro configs (#735)

This commit is contained in:
Graham Paye 2018-11-08 11:00:19 -08:00 committed by GitHub
parent 0100db6396
commit 4c90d65403
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 237 additions and 0 deletions

8
.kokoro/build.bat Normal file
View File

@ -0,0 +1,8 @@
REM This file runs tests for merges, PRs, and nightlies.
REM There are a few rules for what tests are run:
REM * PRs run all non-acceptance tests for every library.
REM * Merges run all non-acceptance tests for every library, and acceptance tests for all altered libraries.
REM * Nightlies run all acceptance tests for every library.
REM Currently only runs tests on 2.5.1
"C:\Program Files\Git\bin\bash.exe" github/google-api-ruby-client/.kokoro/windows.sh

36
.kokoro/build.sh Executable file
View File

@ -0,0 +1,36 @@
#!/bin/bash
# This file runs tests for merges, PRs, and nightlies.
# There are a few rules for what tests are run:
# * PRs run all non-acceptance tests for every library.
# * Merges run all non-acceptance tests for every library, and acceptance tests for all altered libraries.
# * Nightlies run all acceptance tests for every library.
set -eo pipefail
# Debug: show build environment
env | grep KOKORO
cd github/google-api-ruby-client/
# Print out Ruby version
ruby --version
# Temporary workaround for a known bundler+docker issue:
# https://github.com/bundler/bundler/issues/6154
export BUNDLE_GEMFILE=
RUBY_VERSIONS=("2.3.8" "2.4.5" "2.5.3")
# Capture failures
EXIT_STATUS=0 # everything passed
function set_failed_status {
EXIT_STATUS=1
}
for version in "${RUBY_VERSIONS[@]}"; do
rbenv global "$version"
(bundle update && bundle exec rake) || set_failed_status
done
exit $EXIT_STATUS

22
.kokoro/common.cfg Normal file
View File

@ -0,0 +1,22 @@
# Format: //devtools/kokoro/config/proto/build.proto
# Download trampoline resources. These will be in ${KOKORO_GFILE_DIR}
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
# All builds use the trampoline script to run in docker.
build_file: "google-api-ruby-client/.kokoro/trampoline.sh"
# Download secrets from Cloud Storage.
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-api-ruby-client"
# Tell the trampoline which build file to use.
env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/google-api-ruby-client/.kokoro/build.sh"
}
action {
define_artifacts {
regex: "**/*sponge_log.xml"
}
}

View File

@ -0,0 +1,20 @@
# Format: //devtools/kokoro/config/proto/build.proto
# Build logs will be here
action {
define_artifacts {
regex: "**/*sponge_log.xml"
}
}
# Download trampoline resources.
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
# Download resources for system tests (service account key, etc.)
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-ruby"
env_vars: {
key: "JOB_TYPE"
value: "continuous"
}

View File

@ -0,0 +1,15 @@
# Format: //devtools/kokoro/config/proto/build.proto
build_file: "google-api-ruby-client/.kokoro/trampoline.sh"
# Configure the docker image for kokoro-trampoline.
# Dockerfile is maintained at https://github.com/googleapis/google-cloud-ruby/tree/master/.kokoro/docker/ruby-multi
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/google-cloud-ruby/ruby-multi-ubuntu"
}
env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/google-api-ruby-client/.kokoro/build.sh"
}

View File

@ -0,0 +1,3 @@
# Format: //devtools/kokoro/config/proto/build.proto
build_file: "google-api-ruby-client/.kokoro/osx.sh"

View File

@ -0,0 +1,3 @@
# Format: //devtools/kokoro/config/proto/build.proto
build_file: "google-api-ruby-client/.kokoro/build.bat"

35
.kokoro/osx.sh Normal file
View File

@ -0,0 +1,35 @@
#!/bin/bash
# This file runs tests for merges, PRs, and nightlies.
# There are a few rules for what tests are run:
# * PRs run all non-acceptance tests for every library.
# * Merges run all non-acceptance tests for every library, and acceptance tests for all altered libraries.
# * Nightlies run all acceptance tests for every library.
# * Currently only runs tests on 2.5.0
set -eo pipefail
# Debug: show build environment
env | grep KOKORO
cd github/google-api-ruby-client/
# Print out Ruby version
ruby --version
# Temporary workaround for a known bundler+docker issue:
# https://github.com/bundler/bundler/issues/6154
export BUNDLE_GEMFILE=
# Capture failures
EXIT_STATUS=0 # everything passed
function set_failed_status {
EXIT_STATUS=1
}
gem install bundle
(bundle update && bundle exec rake) || set_failed_status
exit $EXIT_STATUS

View File

@ -0,0 +1,19 @@
# Format: //devtools/kokoro/config/proto/build.proto
# Build logs will be here
action {
define_artifacts {
regex: "**/*sponge_log.xml"
}
}
# Download trampoline resources.
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
# Download resources for system tests (service account key, etc.)
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-ruby"
env_vars: {
key: "JOB_TYPE"
value: "presubmit"
}

View File

@ -0,0 +1,14 @@
# Format: //devtools/kokoro/config/proto/build.proto
build_file: "google-api-ruby-client/.kokoro/trampoline.sh"
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/google-cloud-ruby/ruby-multi-ubuntu"
}
env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/google-api-ruby-client/.kokoro/build.sh"
}

View File

@ -0,0 +1,3 @@
# Format: //devtools/kokoro/config/proto/build.proto
build_file: "google-api-ruby-client/.kokoro/osx.sh"

View File

@ -0,0 +1,3 @@
# Format: //devtools/kokoro/config/proto/build.proto
build_file: "google-api-ruby-client/.kokoro/build.bat"

24
.kokoro/trampoline.sh Normal file
View File

@ -0,0 +1,24 @@
#!/bin/bash
# Copyright 2017 Google Inc.
#
# Licensed 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.
set -eo pipefail
# Always run the cleanup script, regardless of the success of bouncing into
# the container.
function cleanup() {
chmod +x ${KOKORO_GFILE_DIR}/trampoline_cleanup.sh
${KOKORO_GFILE_DIR}/trampoline_cleanup.sh
echo "cleanup";
}
trap cleanup EXIT
python3 "${KOKORO_GFILE_DIR}/trampoline_v1.py"

32
.kokoro/windows.sh Normal file
View File

@ -0,0 +1,32 @@
#!/bin/bash
# This file runs tests for merges, PRs, and nightlies.
# There are a few rules for what tests are run:
# * PRs run all non-acceptance tests for every library.
# * Merges run all non-acceptance tests for every library, and acceptance tests for all altered libraries.
# * Nightlies run all acceptance tests for every library.
# * Currently only runs tests on 2.5.1
set -eo pipefail
# Debug: show build environment
env | grep KOKORO
cd github/google-api-ruby-client/
# Print out Ruby version
ruby --version
# Temporary workaround for a known bundler+docker issue:
# https://github.com/bundler/bundler/issues/6154
export BUNDLE_GEMFILE=
# Capture failures
EXIT_STATUS=0 # everything passed
function set_failed_status {
EXIT_STATUS=1
}
(bundle update && bundle exec rake) || set_failed_status
exit $EXIT_STATUS