Skip to content

Commit

Permalink
Officially support only Ruby 2.3 and later (googleapis#2130)
Browse files Browse the repository at this point in the history
Update readmes to reflect Ruby version requirements, stop testing EOL Ruby versions, and remove hacks that allowed us to continue testing against EOL Ruby versions.
  • Loading branch information
dazuma authored Jul 20, 2018
1 parent 554da18 commit 4c0e891
Show file tree
Hide file tree
Showing 75 changed files with 363 additions and 760 deletions.
6 changes: 0 additions & 6 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@ environment:
matrix:
- RUBY_VERSION: 23-x64
DEVKIT: C:\Ruby23-x64\DevKit
- RUBY_VERSION: 22-x64
DEVKIT: C:\Ruby23-x64\DevKit
- RUBY_VERSION: 21-x64
DEVKIT: C:\Ruby23-x64\DevKit
- RUBY_VERSION: 200-x64
DEVKIT: C:\Ruby23-x64\DevKit

install:
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
Expand Down
10 changes: 4 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ os:
- osx
osx_image: xcode8.3
rvm:
- 2.5.0
- 2.4.3
- 2.3.6
- 2.2.9
- 2.1.10
- 2.5.1
- 2.4.4
- 2.3.7
matrix:
allow_failures:
- rvm: 2.5.0
- rvm: 2.5.1
branches:
except:
- gh-pages
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ In order to use the google-cloud-ruby console and run the project's tests, there
small amount of setup:

1. Install Ruby.
google-cloud-ruby requires Ruby 2.0+. You may choose to manage your Ruby and gem installations with [RVM](https://rvm.io/), [rbenv](https://github.com/rbenv/rbenv), or [chruby](https://github.com/postmodern/chruby).
google-cloud-ruby requires Ruby 2.3+. You may choose to manage your Ruby and gem installations with [RVM](https://rvm.io/), [rbenv](https://github.com/rbenv/rbenv), or [chruby](https://github.com/postmodern/chruby).

2. Install [Bundler](http://bundler.io/).

Expand Down
25 changes: 3 additions & 22 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source "https://rubygems.org"

gem "rake", "~> 11.0"
gem "rake", "~> 12.3"
gem "minitest", "~> 5.10"
gem "minitest-autotest", "~> 1.0"
gem "minitest-focus", "~> 1.1"
Expand All @@ -24,6 +24,7 @@ gem "google-cloud-bigtable", path: "google-cloud-bigtable"
gem "google-cloud-container", path: "google-cloud-container"
gem "google-cloud-dataproc", path: "google-cloud-dataproc"
gem "google-cloud-datastore", path: "google-cloud-datastore"
gem "google-cloud-debugger", path: "google-cloud-debugger"
gem "google-cloud-dialogflow", path: "google-cloud-dialogflow"
gem "google-cloud-dlp", path: "google-cloud-dlp"
gem "google-cloud-dns", path: "google-cloud-dns"
Expand All @@ -49,24 +50,4 @@ gem "google-cloud-vision", path: "google-cloud-vision"
gem "google-cloud", path: "google-cloud"
gem "gcloud", path: "gcloud"
gem "stackdriver-core", path: "stackdriver-core"

if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.2.0")
gem "stackdriver", path: "stackdriver"
gem "google-cloud-debugger", path: "google-cloud-debugger"
end

if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.1")
# WORKAROUND: builds are failing on Ruby 2.0.
# We think this is because of a bug in Bundler 1.6.
# Specify a viable version to allow the build to succeed.
gem "jwt", "~> 1.5"
gem "kramdown", "< 1.17.0" # Error in yard with 1.17.0
end

# WORKAROUND: builds are having problems since the release of 3.0.0
# pin to the last known good version
gem "public_suffix", "~> 2.0"

# TEMP: nokogiri (a dependency of rails) 1.7 requires Ruby 2.1 or later.
# Since we're still testing on Ruby 2.0, pin nokogiri to 1.6 for now.
gem "nokogiri", "~> 1.6.8"
gem "stackdriver", path: "stackdriver"
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -909,14 +909,14 @@ $ gem install google-cloud-video_intelligence

## Supported Ruby Versions

These libraries are currently supported on Ruby 2.0+.

However, Ruby 2.3 or later is strongly recommended, as earlier releases have
reached or are nearing end-of-life. After June 1, 2018, Google will provide
official support only for Ruby versions that are considered current and
supported by Ruby Core (that is, Ruby versions that are either in normal
maintenance or in security maintenance).
See https://www.ruby-lang.org/en/downloads/branches/ for further details.
These libraries are currently supported on Ruby 2.3+.

Google provides official support for Ruby versions that are actively supported
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
in security maintenance, and not end of life. Currently, this means Ruby 2.3
and later. Older versions of Ruby _may_ still work, but are unsupported and not
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
about the Ruby support schedule.

## Versioning

Expand Down
7 changes: 5 additions & 2 deletions build/post_test.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
require "pty"

commands = [
"rvm-exec 2.5.0 bundle update; rvm-exec 2.5.0 bundle exec rake circleci:post",
"rvm-exec 2.4.2 bundle update; rvm-exec 2.4.2 bundle exec rake test:coveralls"
# These jobs are run on separate versions just so they run on different
# servers and don't block each other. They don't actually have a version
# dependency.
"rvm-exec 2.5.1 bundle update; rvm-exec 2.5.1 bundle exec rake circleci:post",
"rvm-exec 2.4.4 bundle update; rvm-exec 2.4.4 bundle exec rake test:coveralls"
]

node_index = Integer ENV["CIRCLE_NODE_INDEX"]
Expand Down
28 changes: 9 additions & 19 deletions build/test.rb
Original file line number Diff line number Diff line change
@@ -1,25 +1,15 @@
require "pty"

command_groups = [
["rvm-exec 2.5.0 gem install bundler",
"rvm-exec 2.5.0 bundle update",
"rvm-exec 2.5.0 bundle exec rake circleci:build"],
["rvm-exec 2.4.2 gem install bundler",
"rvm-exec 2.4.2 bundle update",
"rvm-exec 2.4.2 bundle exec rake circleci:build"],
["rvm-exec 2.3.5 gem install bundler",
"rvm-exec 2.3.5 bundle update",
"rvm-exec 2.3.5 bundle exec rake circleci:build"],
["rvm-exec 2.2.7 gem install bundler",
"rvm-exec 2.2.7 bundle update",
"rvm-exec 2.2.7 bundle exec rake circleci:build"],
["rvm rubygems current",
"gem install bundler",
"bundle update",
"bundle exec rake circleci:build"],
["rvm-exec 2.0.0-p648 gem install bundler",
"rvm-exec 2.0.0-p648 bundle update",
"rvm-exec 2.0.0-p648 bundle exec rake circleci:build"]
["rvm-exec 2.5.1 gem install bundler",
"rvm-exec 2.5.1 bundle update",
"rvm-exec 2.5.1 bundle exec rake circleci:build"],
["rvm-exec 2.4.4 gem install bundler",
"rvm-exec 2.4.4 bundle update",
"rvm-exec 2.4.4 bundle exec rake circleci:build"],
["rvm-exec 2.3.7 gem install bundler",
"rvm-exec 2.3.7 bundle update",
"rvm-exec 2.3.7 bundle exec rake circleci:build"]
]

node_index = Integer ENV["CIRCLE_NODE_INDEX"]
Expand Down
17 changes: 5 additions & 12 deletions circle.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
machine:
timezone: America/Los_Angeles

# Since 2.1.9 test execution fails to locate gem dependencies when run via
# rvm-exec, set it to be the machine default.
ruby:
version:
2.1.9
2.5.1

general:
branches:
Expand All @@ -20,15 +18,10 @@ dependencies:
- "/opt/circleci/.rvm"

pre:
# The following three commands install 2.0.0
- rvm get stable
- gem update --system
- rvm-exec 2.5.0 gem update --system
- rvm-exec 2.4.2 gem update --system
- rvm-exec 2.3.5 gem update --system
- rvm-exec 2.2.7 gem update --system
- rvm install 2.0.0-p648
- rvm-exec 2.0.0-p648 gem update --system
- rvm-exec 2.5.1 gem update --system
- rvm-exec 2.4.4 gem update --system
- rvm-exec 2.3.7 gem update --system

test:
override:
Expand All @@ -44,7 +37,7 @@ deployment:
tag: /(\S*)\/v(\S*)/
owner: GoogleCloudPlatform
commands:
- rvm-exec 2.5.0 bundle exec rake circleci:release
- rvm-exec 2.5.1 bundle exec rake circleci:release

notify:
webhooks:
Expand Down
15 changes: 2 additions & 13 deletions gcloud/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,6 @@ gem "google-cloud-translate", path: "../google-cloud-translate"
gem "google-cloud-video_intelligence",
path: "../google-cloud-video_intelligence"
gem "google-cloud-vision", path: "../google-cloud-vision"

if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.1")
# WORKAROUND: builds are failing on Ruby 2.0.
# We think this is because of a bug in Bundler 1.6.
# Specify a viable version to allow the build to succeed.
gem "jwt", "~> 1.5"
gem "kramdown", "< 1.17.0" # Error in yard with 1.17.0
end

# WORKAROUND: builds are having problems since the release of 3.0.0
# pin to the last known good version
gem "public_suffix", "~> 2.0"
gem "rake", "~> 11.0"
gem "stackdriver-core", path: "../stackdriver-core"

gem "rake", "~> 12.3"
16 changes: 8 additions & 8 deletions gcloud/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ end

## Supported Ruby Versions

This library is supported on Ruby 2.0+.

However, Ruby 2.3 or later is strongly recommended, as earlier releases have
reached or are nearing end-of-life. After June 1, 2018, Google will provide
official support only for Ruby versions that are considered current and
supported by Ruby Core (that is, Ruby versions that are either in normal
maintenance or in security maintenance).
See https://www.ruby-lang.org/en/downloads/branches/ for further details.
This library is supported on Ruby 2.3+.

Google provides official support for Ruby versions that are actively supported
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
in security maintenance, and not end of life. Currently, this means Ruby 2.3
and later. Older versions of Ruby _may_ still work, but are unsupported and not
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
about the Ruby support schedule.

## Versioning

Expand Down
13 changes: 1 addition & 12 deletions google-cloud-bigquery-data_transfer/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,4 @@ gem "gcloud-jsondoc",
git: "https://github.com/GoogleCloudPlatform/google-cloud-ruby.git",
branch: "gcloud-jsondoc"

if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.1")
# WORKAROUND: builds are failing on Ruby 2.0.
# We think this is because of a bug in Bundler 1.6.
# Specify a viable version to allow the build to succeed.
gem "jwt", "~> 1.5"
gem "kramdown", "< 1.17.0" # Error in yard with 1.17.0
end

# WORKAROUND: builds are having problems since the release of 3.0.0
# pin to the last known good version
gem "public_suffix", "~> 2.0"
gem "rake", "~> 11.0"
gem "rake", "~> 12.3"
16 changes: 8 additions & 8 deletions google-cloud-bigquery-data_transfer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,14 @@ end

## Supported Ruby Versions

This library is supported on Ruby 2.0+.

However, Ruby 2.3 or later is strongly recommended, as earlier releases have
reached or are nearing end-of-life. After June 1, 2018, Google will provide
official support only for Ruby versions that are considered current and
supported by Ruby Core (that is, Ruby versions that are either in normal
maintenance or in security maintenance).
See https://www.ruby-lang.org/en/downloads/branches/ for further details.
This library is supported on Ruby 2.3+.

Google provides official support for Ruby versions that are actively supported
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
in security maintenance, and not end of life. Currently, this means Ruby 2.3
and later. Older versions of Ruby _may_ still work, but are unsupported and not
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
about the Ruby support schedule.

[Client Library Documentation]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-bigquery-data_transfer/latest/google/cloud/bigquery/datatransfer/v1
[Product Documentation]: https://cloud.google.com/bigquerydatatransfer
13 changes: 1 addition & 12 deletions google-cloud-bigquery/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,4 @@ gem "google-cloud-core", path: "../google-cloud-core"
gem "google-cloud-env", path: "../google-cloud-env"
gem "google-cloud-storage", path: "../google-cloud-storage"

if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.1")
# WORKAROUND: builds are failing on Ruby 2.0.
# We think this is because of a bug in Bundler 1.6.
# Specify a viable version to allow the build to succeed.
gem "jwt", "~> 1.5"
gem "kramdown", "< 1.17.0" # Error in yard with 1.17.0
end

# WORKAROUND: builds are having problems since the release of 3.0.0
# pin to the last known good version
gem "public_suffix", "~> 2.0"
gem "rake", "~> 11.0"
gem "rake", "~> 12.3"
16 changes: 8 additions & 8 deletions google-cloud-bigquery/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,14 @@ Google::Apis.logger = my_logger

## Supported Ruby Versions

This library is supported on Ruby 2.0+.

However, Ruby 2.3 or later is strongly recommended, as earlier releases have
reached or are nearing end-of-life. After June 1, 2018, Google will provide
official support only for Ruby versions that are considered current and
supported by Ruby Core (that is, Ruby versions that are either in normal
maintenance or in security maintenance).
See https://www.ruby-lang.org/en/downloads/branches/ for further details.
This library is supported on Ruby 2.3+.

Google provides official support for Ruby versions that are actively supported
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
in security maintenance, and not end of life. Currently, this means Ruby 2.3
and later. Older versions of Ruby _may_ still work, but are unsupported and not
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
about the Ruby support schedule.

## Versioning

Expand Down
13 changes: 1 addition & 12 deletions google-cloud-bigtable/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,4 @@ gem "gcloud-jsondoc",
gem "google-cloud-core", path: "../google-cloud-core"
gem "google-cloud-env", path: "../google-cloud-env"

if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.1")
# WORKAROUND: builds on Travis-CI are resolving a version that cannot run on
# Ruby 2.0. We think this is because of a bug in Bundler 1.6. Specify a viable
# version to allow the build to succeed.
gem "jwt", "~> 1.5"
gem "kramdown", "< 1.17.0" # Error in yard with 1.17.0
end

# WORKAROUND: builds are having problems since the release of 3.0.0
# pin to the last known good version
gem "public_suffix", "~> 2.0"
gem "rake", "~> 11.0"
gem "rake", "~> 12.3"
14 changes: 7 additions & 7 deletions google-cloud-bigtable/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,14 +52,14 @@ end

## Supported Ruby Versions

This library is supported on Ruby 2.0+.
This library is supported on Ruby 2.3+.

However, Ruby 2.3 or later is strongly recommended, as earlier releases have
reached or are nearing end-of-life. After June 1, 2018, Google will provide
official support only for Ruby versions that are considered current and
supported by Ruby Core (that is, Ruby versions that are either in normal
maintenance or in security maintenance).
See https://www.ruby-lang.org/en/downloads/branches/ for further details.
Google provides official support for Ruby versions that are actively supported
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
in security maintenance, and not end of life. Currently, this means Ruby 2.3
and later. Older versions of Ruby _may_ still work, but are unsupported and not
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
about the Ruby support schedule.

[Client Library Documentation]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-bigtable/latest/google/bigtable/v2
[Product Documentation]: https://cloud.google.com/bigtable
13 changes: 1 addition & 12 deletions google-cloud-container/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,4 @@ gem "gcloud-jsondoc",
git: "https://github.com/GoogleCloudPlatform/google-cloud-ruby.git",
branch: "gcloud-jsondoc"

if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.1")
# WORKAROUND: builds are failing on Ruby 2.0.
# We think this is because of a bug in Bundler 1.6.
# Specify a viable version to allow the build to succeed.
gem "jwt", "~> 1.5"
gem "kramdown", "< 1.17.0" # Error in yard with 1.17.0
end

# WORKAROUND: builds are having problems since the release of 3.0.0
# pin to the last known good version
gem "public_suffix", "~> 2.0"
gem "rake", "~> 11.0"
gem "rake", "~> 12.3"
16 changes: 8 additions & 8 deletions google-cloud-container/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,14 @@ end

## Supported Ruby Versions

This library is supported on Ruby 2.0+.

However, Ruby 2.3 or later is strongly recommended, as earlier releases have
reached or are nearing end-of-life. After June 1, 2018, Google will provide
official support only for Ruby versions that are considered current and
supported by Ruby Core (that is, Ruby versions that are either in normal
maintenance or in security maintenance).
See https://www.ruby-lang.org/en/downloads/branches/ for further details.
This library is supported on Ruby 2.3+.

Google provides official support for Ruby versions that are actively supported
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
in security maintenance, and not end of life. Currently, this means Ruby 2.3
and later. Older versions of Ruby _may_ still work, but are unsupported and not
recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
about the Ruby support schedule.

[Client Library Documentation]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-container/latest/google/container/v1
[Product Documentation]: https://cloud.google.com/container-engine
Loading

0 comments on commit 4c0e891

Please sign in to comment.