use up-to-date kokoro build scripts (#779)
This commit is contained in:
parent
4008a2d3a9
commit
a61f73b015
|
@ -1,8 +1,11 @@
|
||||||
REM This file runs tests for merges, PRs, and nightlies.
|
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
|
SET url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/build.bat"
|
||||||
|
|
||||||
|
SET "download=powershell -C Invoke-WebRequest -Uri %url% -OutFile master-build.bat"
|
||||||
|
|
||||||
|
SET EXIT_STATUS=1
|
||||||
|
|
||||||
|
%download% && master-build.bat && SET EXIT_STATUS=0
|
||||||
|
|
||||||
|
EXIT %EXIT_STATUS%
|
||||||
|
|
|
@ -1,34 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# This file runs tests for merges, PRs, and nightlies.
|
script_url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/build.sh"
|
||||||
# There are a few rules for what tests are run:
|
curl -o master-build.sh $script_url && source master-build.sh
|
||||||
# * 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/
|
|
||||||
|
|
||||||
versions=($RUBY_VERSIONS)
|
|
||||||
|
|
||||||
# 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
|
|
||||||
}
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
rbenv global "$version"
|
|
||||||
echo "Using Ruby $version"
|
|
||||||
(bundle update && bundle exec rake) || set_failed_status
|
|
||||||
done
|
|
||||||
|
|
||||||
exit $EXIT_STATUS
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
# 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"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -18,3 +18,8 @@ env_vars: {
|
||||||
key: "JOB_TYPE"
|
key: "JOB_TYPE"
|
||||||
value: "continuous"
|
value: "continuous"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
env_vars: {
|
||||||
|
key: "REPO_DIR"
|
||||||
|
value: "github/google-api-ruby-client"
|
||||||
|
}
|
||||||
|
|
|
@ -1,3 +1,19 @@
|
||||||
# Format: //devtools/kokoro/config/proto/build.proto
|
# Format: //devtools/kokoro/config/proto/build.proto
|
||||||
|
|
||||||
build_file: "google-api-ruby-client/.kokoro/build.bat"
|
build_file: "google-api-ruby-client/.kokoro/trampoline.bat"
|
||||||
|
|
||||||
|
# Configure the docker image for kokoro-trampoline.
|
||||||
|
env_vars: {
|
||||||
|
key: "TRAMPOLINE_IMAGE"
|
||||||
|
value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/windows"
|
||||||
|
}
|
||||||
|
|
||||||
|
env_vars: {
|
||||||
|
key: "TRAMPOLINE_BUILD_FILE"
|
||||||
|
value: "github/google-api-ruby-client/.kokoro/build.bat"
|
||||||
|
}
|
||||||
|
|
||||||
|
env_vars: {
|
||||||
|
key: "REPO_DIR"
|
||||||
|
value: "google-api-ruby-client"
|
||||||
|
}
|
||||||
|
|
|
@ -1,35 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# This file runs tests for merges, PRs, and nightlies.
|
script_url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/osx.sh"
|
||||||
# There are a few rules for what tests are run:
|
curl -o master-osx.sh $script_url && source master-osx.sh
|
||||||
# * 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 bundler --version 1.17.3
|
|
||||||
|
|
||||||
|
|
||||||
(bundle update && bundle exec rake) || set_failed_status
|
|
||||||
|
|
||||||
exit $EXIT_STATUS
|
|
||||||
|
|
|
@ -17,3 +17,8 @@ env_vars: {
|
||||||
key: "JOB_TYPE"
|
key: "JOB_TYPE"
|
||||||
value: "presubmit"
|
value: "presubmit"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
env_vars: {
|
||||||
|
key: "REPO_DIR"
|
||||||
|
value: "github/google-api-ruby-client"
|
||||||
|
}
|
||||||
|
|
|
@ -1,3 +1,19 @@
|
||||||
# Format: //devtools/kokoro/config/proto/build.proto
|
# Format: //devtools/kokoro/config/proto/build.proto
|
||||||
|
|
||||||
build_file: "google-api-ruby-client/.kokoro/build.bat"
|
build_file: "google-api-ruby-client/.kokoro/trampoline.bat"
|
||||||
|
|
||||||
|
# Configure the docker image for kokoro-trampoline.
|
||||||
|
env_vars: {
|
||||||
|
key: "TRAMPOLINE_IMAGE"
|
||||||
|
value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/windows"
|
||||||
|
}
|
||||||
|
|
||||||
|
env_vars: {
|
||||||
|
key: "TRAMPOLINE_BUILD_FILE"
|
||||||
|
value: "github/google-api-ruby-client/.kokoro/build.bat"
|
||||||
|
}
|
||||||
|
|
||||||
|
env_vars: {
|
||||||
|
key: "REPO_DIR"
|
||||||
|
value: "google-api-ruby-client"
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
SET url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/trampoline.bat"
|
||||||
|
|
||||||
|
SET "download=powershell -C Invoke-WebRequest -Uri %url% -OutFile master-trampoline.bat"
|
||||||
|
|
||||||
|
SET EXIT_STATUS=1
|
||||||
|
|
||||||
|
%download% && master-trampoline.bat && SET EXIT_STATUS=0
|
||||||
|
|
||||||
|
EXIT %EXIT_STATUS%
|
|
@ -1,24 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Copyright 2017 Google Inc.
|
|
||||||
#
|
script_url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/trampoline.sh"
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
curl -o master-trampoline.sh $script_url && source master-trampoline.sh
|
||||||
# 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"
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
#!/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
|
|
31
Rakefile
31
Rakefile
|
@ -1,3 +1,34 @@
|
||||||
require "bundler/gem_tasks"
|
require "bundler/gem_tasks"
|
||||||
|
|
||||||
task default: :spec
|
task default: :spec
|
||||||
|
|
||||||
|
namespace :kokoro do
|
||||||
|
task :load_env_vars do
|
||||||
|
service_account = "#{ENV['KOKORO_GFILE_DIR']}/service-account.json"
|
||||||
|
ENV["GOOGLE_APPLICATION_CREDENTIALS"] = service_account
|
||||||
|
filename = "#{ENV['KOKORO_GFILE_DIR']}/env_vars.json"
|
||||||
|
env_vars = JSON.parse File.read(filename)
|
||||||
|
env_vars.each { |k, v| ENV[k] = v }
|
||||||
|
end
|
||||||
|
|
||||||
|
task :presubmit do
|
||||||
|
Rake::Task["spec"].invoke
|
||||||
|
end
|
||||||
|
|
||||||
|
task :continuous do
|
||||||
|
Rake::Task["spec"].invoke
|
||||||
|
end
|
||||||
|
|
||||||
|
task :nightly do
|
||||||
|
Rake::Task["spec"].invoke
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def header str, token = "#"
|
||||||
|
line_length = str.length + 8
|
||||||
|
puts ""
|
||||||
|
puts token * line_length
|
||||||
|
puts "#{token * 3} #{str} #{token * 3}"
|
||||||
|
puts token * line_length
|
||||||
|
puts ""
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in New Issue