From 43ebe19be9f9417174a920e04f81cdac0f69aecb Mon Sep 17 00:00:00 2001 From: Graham Paye Date: Fri, 22 Mar 2019 12:37:06 -0700 Subject: [PATCH] pull build scripts from google-cloud-ruby (#206) --- .kokoro/build.sh | 41 ++--------------------------------- .kokoro/common.cfg | 22 ------------------- .kokoro/continuous/common.cfg | 5 +++++ .kokoro/osx.sh | 35 ++---------------------------- .kokoro/presubmit/common.cfg | 5 +++++ .kokoro/release.cfg | 5 +++++ .kokoro/trampoline.sh | 26 +++------------------- .kokoro/windows.sh | 32 ++------------------------- Rakefile | 31 +++++++++++++++----------- 9 files changed, 42 insertions(+), 160 deletions(-) delete mode 100755 .kokoro/common.cfg diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 73b00ae..7f4e00f 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -1,41 +1,4 @@ #!/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-auth-library-ruby/ - -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 -} - -if [ "$JOB_TYPE" = "release" ]; then - git fetch --depth=10000 - python3 -m pip install gcp-releasetool - python3 -m releasetool publish-reporter-script > /tmp/publisher-script; source /tmp/publisher-script - (bundle update && bundle exec rake kokoro:release) || set_failed_status -else - for version in "${versions[@]}"; do - rbenv global "$version" - echo "Using Ruby $version" - (bundle update && bundle exec rake) || set_failed_status - done -fi - -exit $EXIT_STATUS +script_url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/build.sh" +curl -o master-build.sh $script_url && source master-build.sh diff --git a/.kokoro/common.cfg b/.kokoro/common.cfg deleted file mode 100755 index f7cfb35..0000000 --- a/.kokoro/common.cfg +++ /dev/null @@ -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-auth-library-ruby/.kokoro/trampoline.sh" - -# Download secrets from Cloud Storage. -gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-auth-library-ruby" - -# Tell the trampoline which build file to use. -env_vars: { - key: "TRAMPOLINE_BUILD_FILE" - value: "github/google-auth-library-ruby/.kokoro/build.sh" -} - -action { - define_artifacts { - regex: "**/*sponge_log.xml" - } -} diff --git a/.kokoro/continuous/common.cfg b/.kokoro/continuous/common.cfg index 67d0079..29df676 100644 --- a/.kokoro/continuous/common.cfg +++ b/.kokoro/continuous/common.cfg @@ -17,3 +17,8 @@ env_vars: { key: "JOB_TYPE" value: "continuous" } + +env_vars: { + key: "REPO_DIR" + value: "github/google-auth-library-ruby" +} diff --git a/.kokoro/osx.sh b/.kokoro/osx.sh index 2ed308d..8be8ec0 100755 --- a/.kokoro/osx.sh +++ b/.kokoro/osx.sh @@ -1,35 +1,4 @@ #!/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-auth-library-ruby/ - -# 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 +script_url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/osx.sh" +curl -o master-osx.sh $script_url && source master-osx.sh diff --git a/.kokoro/presubmit/common.cfg b/.kokoro/presubmit/common.cfg index 68ac605..9c1b8b7 100644 --- a/.kokoro/presubmit/common.cfg +++ b/.kokoro/presubmit/common.cfg @@ -17,3 +17,8 @@ env_vars: { key: "JOB_TYPE" value: "presubmit" } + +env_vars: { + key: "REPO_DIR" + value: "github/google-auth-library-ruby" +} diff --git a/.kokoro/release.cfg b/.kokoro/release.cfg index 9981c82..2ec59ed 100644 --- a/.kokoro/release.cfg +++ b/.kokoro/release.cfg @@ -46,3 +46,8 @@ env_vars: { key: "OS" value: "linux" } + +env_vars: { + key: "REPO_DIR" + value: "github/google-auth-library-ruby" +} diff --git a/.kokoro/trampoline.sh b/.kokoro/trampoline.sh index 0efc3be..4325866 100755 --- a/.kokoro/trampoline.sh +++ b/.kokoro/trampoline.sh @@ -1,24 +1,4 @@ #!/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" + +script_url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/trampoline.sh" +curl -o master-trampoline.sh $script_url && source master-trampoline.sh diff --git a/.kokoro/windows.sh b/.kokoro/windows.sh index 305ba8c..68b09f4 100644 --- a/.kokoro/windows.sh +++ b/.kokoro/windows.sh @@ -1,32 +1,4 @@ #!/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-auth-library-ruby/ - -# 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 +script_url="https://raw.githubusercontent.com/googleapis/google-cloud-ruby/master/.kokoro/windows.sh" +curl -o master-windows.sh $script_url && source master-windows.sh diff --git a/Rakefile b/Rakefile index 2d9b76b..0b5c311 100755 --- a/Rakefile +++ b/Rakefile @@ -1,24 +1,17 @@ # -*- ruby -*- -require "rspec/core/rake_task" -require "rubocop/rake_task" require "bundler/gem_tasks" -desc "Run Rubocop to check for style violations" -RuboCop::RakeTask.new - -desc "Run rake task" -RSpec::Core::RakeTask.new :spec - -desc "Does rubocop lint and runs the specs" -task all: %i[rubocop spec] - -task default: :all +task :ci do + header "Using Ruby - #{RUBY_VERSION}" + sh "bundle exec rubocop" + sh "bundle exec rspec" +end task :release, :tag do |_t, args| tag = args[:tag] raise "You must provide a tag to release." if tag.nil? - # Verify the tag format "PACKAGE/vVERSION" + # Verify the tag format "vVERSION" m = tag.match(/v(?\S*)/) raise "Tag #{tag} does not match the expected format." if m.nil? @@ -62,6 +55,18 @@ namespace :kokoro do env_vars.each { |k, v| ENV[k] = v } end + task :presubmit do + Rake::Task["ci"].invoke + end + + task :continuous do + Rake::Task["ci"].invoke + end + + task :nightly do + Rake::Task["ci"].invoke + end + task :release do version = "0.1.0" Bundler.with_clean_env do