fog-google 1.19.0 → 1.21.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b20ba5a737cfb13ade212b613d28434757226a2a24295df02d6ef4ed1af63a8
4
- data.tar.gz: daf53527899f7503f46183047024dc875102d7ac6be02959ef1fc428a0669fae
3
+ metadata.gz: 3a4758b3cdcbe50e9878a69a034becb30d68c6a5d1e1841b209a51d76683bba7
4
+ data.tar.gz: 0471b66930238a16ed0090ac0fe892809e081139cdd717ec88d493a4acc2dce6
5
5
  SHA512:
6
- metadata.gz: 6cb2f67935fcb561acc870217144d9077bef88732155e0542bb1c06dd6d342c44ed00c702a05f30d5a3c87072080a2f3220e23d1490b8133c144977aa59dd3a1
7
- data.tar.gz: c34b0c89d323619d80e1d95a278b4e5895aa5735ec4d0739f80d72e49bbd9bb2095e4248bd20698b122ab659baccbb963f195b06d1ff4d5232279912f1901b81
6
+ metadata.gz: 76f2ebc2c2efa0ef8996fb09a57291f8a5d9128508051be7c01d5e5acab42eebf678f514bb889e8c14f7893dbb261cef15572d298086dc1751e577dd2562a2a3
7
+ data.tar.gz: da6644adcceabfeda98adb15beea5d12f531869e918a07bdc87b86943982cf4de3b90fec0049729b30134cda4089a65fbe0e97566feab7e248e844b5f973d0ad
@@ -0,0 +1,45 @@
1
+ # SQL tests are carried own in its' own job as they're extremely heavy so there
2
+ # is no need to run them if SQL code or deps haven't changed and you cannot
3
+ # trigger jobs based on file changes in the same workflow.
4
+ # See: https://github.com/actions/runner/issues/456
5
+ name: integration-tests-compute-instance_groups
6
+
7
+ on:
8
+ push:
9
+ branches: [ master ]
10
+ pull_request:
11
+ branches: [ master ]
12
+ types: [ assigned, opened, synchronize, reopened, labeled ]
13
+ # Only run SQL integration tests if SQL code or deps have changed
14
+ paths:
15
+ # Module-specific paths
16
+ - 'lib/fog/compute/**'
17
+ - 'test/integration/compute/core_compute/**'
18
+ # Common deps & shared paths
19
+ - 'fog-google.gemspec'
20
+ - 'lib/fog/bin/google.rb'
21
+ - 'lib/fog/google/shared.rb'
22
+ - 'lib/fog/google.rb'
23
+ # Trigger workflow on version upgrade
24
+ - 'lib/fog/google/version.rb'
25
+
26
+ jobs:
27
+ test-compute:
28
+ runs-on: self-hosted
29
+ strategy:
30
+ matrix:
31
+ ruby-version: [ '2.7', '3.0', '3.1' ]
32
+ # Integration tests from the same task cannot run in parallel yet due to cleanup
33
+ max-parallel: 1
34
+
35
+ steps:
36
+ - uses: actions/checkout@v3
37
+ - name: Set up Ruby
38
+ uses: ruby/setup-ruby@v1
39
+ with:
40
+ ruby-version: ${{ matrix.ruby-version }}
41
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
42
+ - name: Run tests
43
+ run: >-
44
+ ./.github/scripts/setup_creds.sh &&
45
+ bundle exec rake test:compute-core_compute
@@ -0,0 +1,46 @@
1
+ # SQL tests are carried own in its' own job as they're extremely heavy so there
2
+ # is no need to run them if SQL code or deps haven't changed and you cannot
3
+ # trigger jobs based on file changes in the same workflow.
4
+ # See: https://github.com/actions/runner/issues/456
5
+ name: integration-tests-compute-instance_groups
6
+
7
+ on:
8
+ push:
9
+ branches: [ master ]
10
+ pull_request:
11
+ branches: [ master ]
12
+ types: [ assigned, opened, synchronize, reopened, labeled ]
13
+ # Only run SQL integration tests if SQL code or deps have changed
14
+ paths:
15
+ # Module-specific paths
16
+ - 'lib/fog/compute/**'
17
+ - 'test/integration/compute/instance_groups/**'
18
+ # Common deps & shared paths
19
+ - 'fog-google.gemspec'
20
+ - 'lib/fog/bin/google.rb'
21
+ - 'lib/fog/google/shared.rb'
22
+ - 'lib/fog/google.rb'
23
+ # Trigger workflow on version upgrade
24
+ - 'lib/fog/google/version.rb'
25
+
26
+ jobs:
27
+ test:
28
+ runs-on: self-hosted
29
+ strategy:
30
+ matrix:
31
+ ruby-version: [ '2.7', '3.0', '3.1' ]
32
+ # Integration tests from the same task cannot run in parallel yet due to cleanup
33
+ max-parallel: 1
34
+
35
+ steps:
36
+ - uses: actions/checkout@v3
37
+ - name: Set up Ruby
38
+ uses: ruby/setup-ruby@v1
39
+ with:
40
+ ruby-version: ${{ matrix.ruby-version }}
41
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
42
+ - name: Run tests
43
+ run: >-
44
+ ./.github/scripts/setup_creds.sh &&
45
+ bundle exec rake test:compute-instance_groups
46
+
@@ -0,0 +1,45 @@
1
+ # SQL tests are carried own in its' own job as they're extremely heavy so there
2
+ # is no need to run them if SQL code or deps haven't changed and you cannot
3
+ # trigger jobs based on file changes in the same workflow.
4
+ # See: https://github.com/actions/runner/issues/456
5
+ name: integration-tests-compute-loadbalancing
6
+
7
+ on:
8
+ push:
9
+ branches: [ master ]
10
+ pull_request:
11
+ branches: [ master ]
12
+ types: [ assigned, opened, synchronize, reopened, labeled ]
13
+ # Only run SQL integration tests if SQL code or deps have changed
14
+ paths:
15
+ # Module-specific paths
16
+ - 'lib/fog/compute/**'
17
+ - 'test/integration/compute/loadbalancing/**'
18
+ # Common deps & shared paths
19
+ - 'fog-google.gemspec'
20
+ - 'lib/fog/bin/google.rb'
21
+ - 'lib/fog/google/shared.rb'
22
+ - 'lib/fog/google.rb'
23
+ # Trigger workflow on version upgrade
24
+ - 'lib/fog/google/version.rb'
25
+
26
+ jobs:
27
+ test:
28
+ runs-on: self-hosted
29
+ strategy:
30
+ matrix:
31
+ ruby-version: [ '2.7', '3.0', '3.1' ]
32
+ # Integration tests from the same task cannot run in parallel yet due to cleanup
33
+ max-parallel: 1
34
+
35
+ steps:
36
+ - uses: actions/checkout@v3
37
+ - name: Set up Ruby
38
+ uses: ruby/setup-ruby@v1
39
+ with:
40
+ ruby-version: ${{ matrix.ruby-version }}
41
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
42
+ - name: Run tests
43
+ run: >-
44
+ ./.github/scripts/setup_creds.sh &&
45
+ bundle exec rake test:compute-loadbalancing
@@ -0,0 +1,45 @@
1
+ # SQL tests are carried own in its' own job as they're extremely heavy so there
2
+ # is no need to run them if SQL code or deps haven't changed and you cannot
3
+ # trigger jobs based on file changes in the same workflow.
4
+ # See: https://github.com/actions/runner/issues/456
5
+ name: integration-tests-compute-networking
6
+
7
+ on:
8
+ push:
9
+ branches: [ master ]
10
+ pull_request:
11
+ branches: [ master ]
12
+ types: [ assigned, opened, synchronize, reopened, labeled ]
13
+ # Only run SQL integration tests if SQL code or deps have changed
14
+ paths:
15
+ # Module-specific paths
16
+ - 'lib/fog/compute/**'
17
+ - 'test/integration/compute/core_networking/**'
18
+ # Common deps & shared paths
19
+ - 'fog-google.gemspec'
20
+ - 'lib/fog/bin/google.rb'
21
+ - 'lib/fog/google/shared.rb'
22
+ - 'lib/fog/google.rb'
23
+ # Trigger workflow on version upgrade
24
+ - 'lib/fog/google/version.rb'
25
+
26
+ jobs:
27
+ test:
28
+ runs-on: self-hosted
29
+ strategy:
30
+ matrix:
31
+ ruby-version: [ '2.7', '3.0', '3.1' ]
32
+ # Integration tests from the same task cannot run in parallel yet due to cleanup
33
+ max-parallel: 1
34
+
35
+ steps:
36
+ - uses: actions/checkout@v3
37
+ - name: Set up Ruby
38
+ uses: ruby/setup-ruby@v1
39
+ with:
40
+ ruby-version: ${{ matrix.ruby-version }}
41
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
42
+ - name: Run tests
43
+ run: >-
44
+ ./.github/scripts/setup_creds.sh &&
45
+ bundle exec rake test:compute-core_networking
@@ -0,0 +1,46 @@
1
+ # SQL tests are carried own in its' own job as they're extremely heavy so there
2
+ # is no need to run them if SQL code or deps haven't changed and you cannot
3
+ # trigger jobs based on file changes in the same workflow.
4
+ # See: https://github.com/actions/runner/issues/456
5
+ name: integration-tests-monitoring
6
+
7
+ on:
8
+ push:
9
+ branches: [ master ]
10
+ pull_request:
11
+ branches: [ master ]
12
+ types: [ assigned, opened, synchronize, reopened, labeled ]
13
+ # Only run SQL integration tests if SQL code or deps have changed
14
+ paths:
15
+ # Module-specific paths
16
+ - 'lib/fog/google/monitoring.rb'
17
+ - 'lib/fog/google/monitoring/**'
18
+ - 'test/integration/monitoring/**'
19
+ # Common deps & shared paths
20
+ - 'fog-google.gemspec'
21
+ - 'lib/fog/bin/google.rb'
22
+ - 'lib/fog/google/shared.rb'
23
+ - 'lib/fog/google.rb'
24
+ # Trigger workflow on version upgrade
25
+ - 'lib/fog/google/version.rb'
26
+
27
+ jobs:
28
+ test:
29
+ runs-on: self-hosted
30
+ strategy:
31
+ matrix:
32
+ ruby-version: [ '2.7', '3.0', '3.1' ]
33
+ # Integration tests from the same task cannot run in parallel yet due to cleanup
34
+ max-parallel: 1
35
+
36
+ steps:
37
+ - uses: actions/checkout@v3
38
+ - name: Set up Ruby
39
+ uses: ruby/setup-ruby@v1
40
+ with:
41
+ ruby-version: ${{ matrix.ruby-version }}
42
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
43
+ - name: Run tests
44
+ run: >-
45
+ ./.github/scripts/setup_creds.sh &&
46
+ bundle exec rake test:monitoring
@@ -0,0 +1,46 @@
1
+ # SQL tests are carried own in its' own job as they're extremely heavy so there
2
+ # is no need to run them if SQL code or deps haven't changed and you cannot
3
+ # trigger jobs based on file changes in the same workflow.
4
+ # See: https://github.com/actions/runner/issues/456
5
+ name: integration-tests-pubsub
6
+
7
+ on:
8
+ push:
9
+ branches: [ master ]
10
+ pull_request:
11
+ branches: [ master ]
12
+ types: [ assigned, opened, synchronize, reopened, labeled ]
13
+ # Only run SQL integration tests if SQL code or deps have changed
14
+ paths:
15
+ # Module-specific paths
16
+ - 'lib/fog/google/pubsub.rb'
17
+ - 'lib/fog/google/pubsub/**'
18
+ - 'test/integration/pubsub/**'
19
+ # Common deps & shared paths
20
+ - 'fog-google.gemspec'
21
+ - 'lib/fog/bin/google.rb'
22
+ - 'lib/fog/google/shared.rb'
23
+ - 'lib/fog/google.rb'
24
+ # Trigger workflow on version upgrade
25
+ - 'lib/fog/google/version.rb'
26
+
27
+ jobs:
28
+ test:
29
+ runs-on: self-hosted
30
+ strategy:
31
+ matrix:
32
+ ruby-version: [ '2.7', '3.0', '3.1' ]
33
+ # Integration tests from the same task cannot run in parallel yet due to cleanup
34
+ max-parallel: 1
35
+
36
+ steps:
37
+ - uses: actions/checkout@v3
38
+ - name: Set up Ruby
39
+ uses: ruby/setup-ruby@v1
40
+ with:
41
+ ruby-version: ${{ matrix.ruby-version }}
42
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
43
+ - name: Run tests
44
+ run: >-
45
+ ./.github/scripts/setup_creds.sh &&
46
+ bundle exec rake test:pubsub
@@ -0,0 +1,46 @@
1
+ # SQL tests are carried own in its' own job as they're extremely heavy so there
2
+ # is no need to run them if SQL code or deps haven't changed and you cannot
3
+ # trigger jobs based on file changes in the same workflow.
4
+ # See: https://github.com/actions/runner/issues/456
5
+ name: integration-tests-sql
6
+
7
+ on:
8
+ push:
9
+ branches: [ master ]
10
+ pull_request:
11
+ branches: [ master ]
12
+ types: [ assigned, opened, synchronize, reopened, labeled ]
13
+ # Only run SQL integration tests if SQL code or deps have changed
14
+ paths:
15
+ # Module-specific paths
16
+ - 'lib/fog/google/sql.rb'
17
+ - 'lib/fog/google/sql/**'
18
+ - 'test/integration/sql/**'
19
+ # Common deps & shared paths
20
+ - 'fog-google.gemspec'
21
+ - 'lib/fog/bin/google.rb'
22
+ - 'lib/fog/google/shared.rb'
23
+ - 'lib/fog/google.rb'
24
+ # Trigger workflow on version upgrade
25
+ - 'lib/fog/google/version.rb'
26
+
27
+ jobs:
28
+ test:
29
+ runs-on: self-hosted
30
+ strategy:
31
+ matrix:
32
+ ruby-version: [ '2.7', '3.0', '3.1' ]
33
+ # Integration tests from the same task cannot run in parallel yet due to cleanup
34
+ max-parallel: 1
35
+
36
+ steps:
37
+ - uses: actions/checkout@v3
38
+ - name: Set up Ruby
39
+ uses: ruby/setup-ruby@v1
40
+ with:
41
+ ruby-version: ${{ matrix.ruby-version }}
42
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
43
+ - name: Run tests
44
+ run: >-
45
+ ./.github/scripts/setup_creds.sh &&
46
+ bundle exec rake test:sql
@@ -0,0 +1,47 @@
1
+ # SQL tests are carried own in its' own job as they're extremely heavy so there
2
+ # is no need to run them if SQL code or deps haven't changed and you cannot
3
+ # trigger jobs based on file changes in the same workflow.
4
+ # See: https://github.com/actions/runner/issues/456
5
+ name: integration-tests-storage
6
+
7
+ on:
8
+ push:
9
+ branches: [ master ]
10
+ pull_request:
11
+ branches: [ master ]
12
+ types: [ assigned, opened, synchronize, reopened, labeled ]
13
+ # Only run SQL integration tests if SQL code or deps have changed
14
+ paths:
15
+ # Module-specific paths
16
+ - 'lib/fog/google/storage.rb'
17
+ - 'lib/fog/google/storage/**'
18
+ - 'lib/fog/google/parsers/storage/**'
19
+ - 'test/integration/storage/**'
20
+ # Common deps & shared paths
21
+ - 'fog-google.gemspec'
22
+ - 'lib/fog/bin/google.rb'
23
+ - 'lib/fog/google/shared.rb'
24
+ - 'lib/fog/google.rb'
25
+ # Trigger workflow on version upgrade
26
+ - 'lib/fog/google/version.rb'
27
+
28
+ jobs:
29
+ test:
30
+ runs-on: self-hosted
31
+ strategy:
32
+ matrix:
33
+ ruby-version: [ '2.7', '3.0', '3.1' ]
34
+ # Integration tests from the same task cannot run in parallel yet due to cleanup
35
+ max-parallel: 1
36
+
37
+ steps:
38
+ - uses: actions/checkout@v3
39
+ - name: Set up Ruby
40
+ uses: ruby/setup-ruby@v1
41
+ with:
42
+ ruby-version: ${{ matrix.ruby-version }}
43
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
44
+ - name: Run tests
45
+ run: >-
46
+ ./.github/scripts/setup_creds.sh &&
47
+ bundle exec rake test:storage
@@ -10,10 +10,10 @@ jobs:
10
10
  runs-on: ubuntu-latest
11
11
 
12
12
  steps:
13
- - uses: actions/stale@v4
13
+ - uses: actions/stale@v6
14
14
  with:
15
15
  repo-token: ${{ secrets.GITHUB_TOKEN }}
16
- days-before-stale: 60
16
+ days-before-stale: 360
17
17
  days-before-close: 7
18
18
  exempt-issue-labels: 'pinned,security'
19
19
  exempt-pr-labels: 'pinned,security'
@@ -14,7 +14,7 @@ jobs:
14
14
  ruby-version: ['2.5', '2.6', '2.7', '3.0', '3.1', 'head', 'truffleruby-head']
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@v2.4.0
17
+ - uses: actions/checkout@v3
18
18
  - name: Set up Ruby
19
19
  uses: ruby/setup-ruby@v1
20
20
  with:
data/CHANGELOG.md CHANGED
@@ -6,6 +6,53 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
6
6
 
7
7
  ## Next
8
8
 
9
+ ## 1.21.1
10
+
11
+ ### User-facing
12
+
13
+ #### Fixed
14
+
15
+ - \#597 loosen dependencies to avoid conflict
16
+
17
+ ### Development changes
18
+
19
+ #### Fixed
20
+
21
+ - bump actions/checkout from 2.4.0 to 3.1.0
22
+ - fixes and refinements for integration tests
23
+
24
+ ## 1.21.0
25
+
26
+ ### User-facing
27
+
28
+ #### Fixed
29
+
30
+ - \#592 use Addressable for escaping paths when generating urls
31
+ - test workflow refinements
32
+
33
+ ### Development changes
34
+
35
+ #### Fixed
36
+
37
+ - bump actions/checkout from 2.4.0 to 3.1.0
38
+ - fixes and refinements for integration tests
39
+
40
+ ## 1.20.0
41
+
42
+ ### User-facing
43
+
44
+ #### Fixed
45
+
46
+ - update google client dependencies
47
+ - \#591 only create new RSA keys if needed for faster signing
48
+
49
+ ### Development changes
50
+
51
+ #### Fixed
52
+
53
+ - bump actions/checkout from 2.4.0 to 3.1.0
54
+ - fixes and refinements for integration tests
55
+
9
56
  ## 1.19.0
10
57
 
11
58
  ### User-facing
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Fog::Google
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/fog-google.svg)](http://badge.fury.io/rb/fog-google) [![Build Status](https://github.com/fog/fog-google/actions/workflows/ruby.yml/badge.svg)](https://github.com/fog/fog-google/actions/workflows/ruby.yml) [![codecov](https://codecov.io/gh/fog/fog-google/branch/master/graph/badge.svg)](https://codecov.io/gh/fog/fog-google) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=fog/fog-google)](https://dependabot.com) [![Doc coverage](https://inch-ci.org/github/fog/fog-google.svg?branch=master)](https://inch-ci.org/github/fog/fog-google)
3
+ [![Gem Version](https://badge.fury.io/rb/fog-google.svg)](http://badge.fury.io/rb/fog-google) [![Build Status](https://github.com/fog/fog-google/actions/workflows/ruby.yml/badge.svg)](https://github.com/fog/fog-google/actions/workflows/ruby.yml) [![codecov](https://codecov.io/gh/fog/fog-google/branch/master/graph/badge.svg)](https://codecov.io/gh/fog/fog-google) ![Dependabot Status](https://flat.badgen.net/github/dependabot/fog/fog-google) [![Doc coverage](https://inch-ci.org/github/fog/fog-google.svg?branch=master)](https://inch-ci.org/github/fog/fog-google)
4
4
 
5
5
  The main maintainers for the Google sections are @icco, @Temikus and @plribeiro3000. Please send pull requests to them.
6
6
 
@@ -8,7 +8,7 @@ The main maintainers for the Google sections are @icco, @Temikus and @plribeiro3
8
8
 
9
9
  - As of **v1.0.0**, fog-google includes google-api-client as a dependency, there is no need to include it separately anymore.
10
10
 
11
- - Fog-google is currently supported on Ruby 2.6+ See [supported ruby versions](#supported-ruby-versions) for more info.
11
+ - Fog-google is currently supported on Ruby 2.7+ See [supported ruby versions](#supported-ruby-versions) for more info.
12
12
 
13
13
  See **[MIGRATING.md](MIGRATING.md)** for migration between major versions.
14
14
 
@@ -175,7 +175,7 @@ $ bundle exec pry
175
175
 
176
176
  ## Supported Ruby Versions
177
177
 
178
- Fog-google is currently supported on Ruby 2.6+.
178
+ Fog-google is currently supported on Ruby 2.7+.
179
179
 
180
180
  In general we support (and run our CI) for Ruby versions that are actively supported
181
181
  by Ruby Core - that is, Ruby versions that are not end of life. Older versions of
@@ -13,7 +13,7 @@ def example
13
13
  :name => "fog-smoke-test-#{Time.now.to_i}",
14
14
  :size_gb => 10,
15
15
  :zone => "us-central1-f",
16
- :source_image => "debian-9-stretch-v20180611"
16
+ :source_image => "debian-11-bullseye-v20220920"
17
17
  )
18
18
 
19
19
  p "Waiting for disk to be ready"
@@ -13,7 +13,7 @@ def example
13
13
  :name => "fog-smoke-test-#{Time.now.to_i}",
14
14
  :size_gb => 10,
15
15
  :zone => "us-central1-f",
16
- :source_image => "debian-9-stretch-v20180611"
16
+ :source_image => "debian-11-bullseye-v20220920"
17
17
  )
18
18
 
19
19
  p "Creating a second disk"
@@ -23,7 +23,7 @@ def test
23
23
 
24
24
  puts "Fetching a single image from a global project..."
25
25
  puts "------------------------------------------------"
26
- img = connection.images.get("debian-9-stretch-v20180611")
26
+ img = connection.images.get("debian-11-bullseye-v20220920")
27
27
  raise "Could not GET the image" unless img
28
28
  puts img.inspect
29
29
 
@@ -24,7 +24,7 @@ def test
24
24
  :name => "#{name}-#{i}",
25
25
  :size_gb => 10,
26
26
  :zone_name => zone,
27
- :source_image => "debian-9-stretch-v20180611"
27
+ :source_image => "debian-11-bullseye-v20220920"
28
28
  )
29
29
  disk.wait_for { disk.ready? }
30
30
  rescue
data/examples/metadata.rb CHANGED
@@ -15,7 +15,7 @@ def test
15
15
  :name => name,
16
16
  :size_gb => 10,
17
17
  :zone_name => "us-central1-f",
18
- :source_image => "debian-9-stretch-v20180611"
18
+ :source_image => "debian-11-bullseye-v20220920"
19
19
  )
20
20
 
21
21
  disk.wait_for { disk.ready? }
data/examples/network.rb CHANGED
@@ -24,7 +24,7 @@ def test
24
24
  :name => name,
25
25
  :size_gb => 10,
26
26
  :zone_name => "us-central1-a",
27
- :source_image => "debian-9-stretch-v20180611"
27
+ :source_image => "debian-11-bullseye-v20220920"
28
28
  )
29
29
 
30
30
  disk.wait_for { disk.ready? }
data/fog-google.gemspec CHANGED
@@ -24,16 +24,18 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency "fog-json", "~> 1.2"
25
25
  spec.add_dependency "fog-xml", "~> 0.1.0"
26
26
 
27
- spec.add_dependency "google-apis-storage_v1", "~> 0.6"
28
- spec.add_dependency "google-apis-iamcredentials_v1", "~> 0.6"
29
- spec.add_dependency "google-apis-compute_v1", "~> 0.14"
30
- spec.add_dependency "google-apis-monitoring_v3", "~> 0.12"
31
- spec.add_dependency "google-apis-dns_v1", "~> 0.12"
32
- spec.add_dependency "google-apis-pubsub_v1", "~> 0.7"
33
- spec.add_dependency "google-apis-sqladmin_v1beta4", "~> 0.13"
27
+ spec.add_dependency "google-apis-storage_v1", [">= 0.19", "< 1"]
28
+ spec.add_dependency "google-apis-iamcredentials_v1", "~> 0.15"
29
+ spec.add_dependency "google-apis-compute_v1", "~> 0.53"
30
+ spec.add_dependency "google-apis-monitoring_v3", "~> 0.37"
31
+ spec.add_dependency "google-apis-dns_v1", "~> 0.28"
32
+ spec.add_dependency "google-apis-pubsub_v1", "~> 0.30"
33
+ spec.add_dependency "google-apis-sqladmin_v1beta4", "~> 0.38"
34
34
 
35
35
  spec.add_dependency "google-cloud-env", "~> 1.2"
36
36
 
37
+ spec.add_dependency "addressable", ">= 2.7.0"
38
+
37
39
  # Debugger
38
40
  # Locked because pry-byebug is broken with 13+
39
41
  # see: https://github.com/deivid-rodriguez/pry-byebug/issues/343
@@ -27,7 +27,7 @@ module Fog
27
27
  # [
28
28
  # {
29
29
  # :initialize_params => {
30
- # :source_image => "projects/debian-cloud/global/images/family/debian-9"
30
+ # :source_image => "projects/debian-cloud/global/images/family/debian-11"
31
31
  # }
32
32
  # }
33
33
  # ]
@@ -50,7 +50,7 @@ module Fog
50
50
 
51
51
  if disks.nil? || disks.empty?
52
52
  # create the persistent boot disk
53
- source_img = service.images.get_from_family("debian-9")
53
+ source_img = service.images.get_from_family("debian-11")
54
54
  disk_defaults = {
55
55
  :name => name,
56
56
  :size_gb => 10,
@@ -52,7 +52,7 @@ module Fog
52
52
  # :disks => [
53
53
  # {
54
54
  # :initialize_params => {
55
- # :source_image => "projects/debian-cloud/global/images/family/debian-9"
55
+ # :source_image => "projects/debian-cloud/global/images/family/debian-11"
56
56
  # }
57
57
  # }
58
58
  # ]
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Google
3
- VERSION = "1.19.0".freeze
3
+ VERSION = "1.21.1".freeze
4
4
  end
5
5
  end
@@ -135,7 +135,8 @@ DATA
135
135
  # See https://cloud.google.com/storage/docs/access-control/signed-urls-v2
136
136
  # @return [String] Signature binary blob
137
137
  def default_signer(string_to_sign)
138
- key = OpenSSL::PKey::RSA.new(@storage_json.authorization.signing_key)
138
+ key = @storage_json.authorization.signing_key
139
+ key = OpenSSL::PKey::RSA.new(@storage_json.authorization.signing_key) unless key.respond_to?(:sign)
139
140
  digest = OpenSSL::Digest::SHA256.new
140
141
  return key.sign(digest, string_to_sign)
141
142
  end
@@ -1,3 +1,5 @@
1
+ require 'addressable'
2
+
1
3
  module Fog
2
4
  module Storage
3
5
  class GoogleJSON
@@ -19,10 +21,7 @@ module Fog
19
21
 
20
22
  def host_path_query(params, expires)
21
23
  params[:headers]["Date"] = expires.to_i
22
- # implementation from CGI.escape, but without ' ' to '+' conversion
23
- params[:path] = params[:path].b.gsub(/([^a-zA-Z0-9_.\-~]+)/) { |m|
24
- '%' + m.unpack('H2' * m.bytesize).join('%').upcase
25
- }.gsub("%2F", "/")
24
+ params[:path] = ::Addressable::URI.encode_component(params[:path], ::Addressable::URI::CharacterClasses::PATH)
26
25
 
27
26
  query = []
28
27
 
@@ -17,9 +17,9 @@ TEST_ZONE = "us-central1-f".freeze
17
17
  TEST_REGION = "us-central1".freeze
18
18
  TEST_SIZE_GB = 10
19
19
  TEST_MACHINE_TYPE = "n1-standard-1".freeze
20
- TEST_IMAGE = "debian-9-stretch-v20180611".freeze
20
+ TEST_IMAGE = "debian-11-bullseye-v20220920".freeze
21
21
  TEST_IMAGE_PROJECT = "debian-cloud".freeze
22
- TEST_IMAGE_FAMILY = "debian-9".freeze
22
+ TEST_IMAGE_FAMILY = "debian-11".freeze
23
23
 
24
24
  # XXX This depends on a public image in gs://fog-test-bucket; there may be a better way to do this
25
25
  # The image was created like so: https://cloud.google.com/compute/docs/images/export-image
@@ -46,12 +46,18 @@ class TestMetricDescriptors < FogIntegrationTest
46
46
  }
47
47
 
48
48
  expected = _some_timeseries(start_time, metric_type, labels)
49
- resp = @client.create_timeseries(:timeseries => [expected])
49
+ # Retrying since this is prone to errors in test environment due to
50
+ # constant creation/deletion of resources
51
+ resp = retry_on(Google::Apis::ServerError) do
52
+ @client.create_timeseries(:timeseries => [expected])
53
+ end
50
54
  assert_empty(resp.to_h)
51
55
 
52
- # Wait for metric to be created
53
- retry_on(Google::Apis::ClientError) do
54
- @client.list_timeseries(
56
+ # Wait for TimeSeries to be created
57
+ # Google Monitoring backend is not exactly designed for synchronous retrieval so this retry is necessary
58
+ Fog.wait_for(30) do
59
+ begin
60
+ test_ts = @client.list_timeseries(
55
61
  :filter => "metric.type = \"#{metric_type}\"",
56
62
  :interval => {
57
63
  # Subtracting one second because timeSeries.list API
@@ -60,7 +66,11 @@ class TestMetricDescriptors < FogIntegrationTest
60
66
  :start_time => (start_time - 1).to_datetime.rfc3339,
61
67
  :end_time => Time.now.to_datetime.rfc3339
62
68
  }
63
- ).time_series
69
+ ).time_series
70
+ return !test_ts.nil?
71
+ rescue
72
+ return false
73
+ end
64
74
  end
65
75
 
66
76
  series = retry_on(Google::Apis::ClientError) do
@@ -109,6 +119,8 @@ class TestMetricDescriptors < FogIntegrationTest
109
119
  _some_timeseries(start_time, metric_type, labels)
110
120
  end
111
121
 
122
+ # Retrying since this is prone to errors in test environment due to
123
+ # constant creation/deletion of resources
112
124
  retry_on(Google::Apis::ServerError) do
113
125
  @client.create_timeseries(:timeseries => timeseries)
114
126
  end
@@ -120,15 +132,18 @@ class TestMetricDescriptors < FogIntegrationTest
120
132
  :end_time => Time.now.to_datetime.rfc3339
121
133
  }
122
134
 
123
-
124
- # Wait for metric to be created
125
- # Retriable is used instead of wait_for due to API client returning Google::Apis::ClientError: badRequest if the
126
- # metric hasn't yet been created
127
- retry_on(Google::Apis::ClientError) do
128
- @client.list_timeseries(
129
- :filter => "metric.type = \"#{metric_type}\"",
130
- :interval => interval
131
- ).time_series
135
+ # Wait for TimeSeries to be created
136
+ # Google Monitoring backend is not exactly designed for synchronous retrieval so this retry is necessary
137
+ Fog.wait_for(30) do
138
+ begin
139
+ test_ts = @client.list_timeseries(
140
+ :filter => "metric.type = \"#{metric_type}\"",
141
+ :interval => interval
142
+ ).time_series
143
+ return !test_ts.nil?
144
+ rescue
145
+ return false
146
+ end
132
147
  end
133
148
 
134
149
  # Test page size
@@ -49,4 +49,12 @@ class UnitTestJsonRequests < MiniTest::Test
49
49
  assert_match(/a\/b\/c/, url,
50
50
  "slashes should not be escaped with '%2F'")
51
51
  end
52
+
53
+ def test_unescaped_pluses_in_url
54
+ url = @client.get_object_https_url("bucket",
55
+ "a+c.ext",
56
+ Time.now + 2 * 60)
57
+ assert_match(/a\+c/, url,
58
+ "pluses should not be escaped with '%2B'")
59
+ end
52
60
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-google
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.0
4
+ version: 1.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nat Welch
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-07-13 00:00:00.000000000 Z
12
+ date: 2023-06-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog-core
@@ -57,100 +57,106 @@ dependencies:
57
57
  name: google-apis-storage_v1
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - "~>"
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '0.6'
62
+ version: '0.19'
63
+ - - "<"
64
+ - !ruby/object:Gem::Version
65
+ version: '1'
63
66
  type: :runtime
64
67
  prerelease: false
65
68
  version_requirements: !ruby/object:Gem::Requirement
66
69
  requirements:
67
- - - "~>"
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '0.19'
73
+ - - "<"
68
74
  - !ruby/object:Gem::Version
69
- version: '0.6'
75
+ version: '1'
70
76
  - !ruby/object:Gem::Dependency
71
77
  name: google-apis-iamcredentials_v1
72
78
  requirement: !ruby/object:Gem::Requirement
73
79
  requirements:
74
80
  - - "~>"
75
81
  - !ruby/object:Gem::Version
76
- version: '0.6'
82
+ version: '0.15'
77
83
  type: :runtime
78
84
  prerelease: false
79
85
  version_requirements: !ruby/object:Gem::Requirement
80
86
  requirements:
81
87
  - - "~>"
82
88
  - !ruby/object:Gem::Version
83
- version: '0.6'
89
+ version: '0.15'
84
90
  - !ruby/object:Gem::Dependency
85
91
  name: google-apis-compute_v1
86
92
  requirement: !ruby/object:Gem::Requirement
87
93
  requirements:
88
94
  - - "~>"
89
95
  - !ruby/object:Gem::Version
90
- version: '0.14'
96
+ version: '0.53'
91
97
  type: :runtime
92
98
  prerelease: false
93
99
  version_requirements: !ruby/object:Gem::Requirement
94
100
  requirements:
95
101
  - - "~>"
96
102
  - !ruby/object:Gem::Version
97
- version: '0.14'
103
+ version: '0.53'
98
104
  - !ruby/object:Gem::Dependency
99
105
  name: google-apis-monitoring_v3
100
106
  requirement: !ruby/object:Gem::Requirement
101
107
  requirements:
102
108
  - - "~>"
103
109
  - !ruby/object:Gem::Version
104
- version: '0.12'
110
+ version: '0.37'
105
111
  type: :runtime
106
112
  prerelease: false
107
113
  version_requirements: !ruby/object:Gem::Requirement
108
114
  requirements:
109
115
  - - "~>"
110
116
  - !ruby/object:Gem::Version
111
- version: '0.12'
117
+ version: '0.37'
112
118
  - !ruby/object:Gem::Dependency
113
119
  name: google-apis-dns_v1
114
120
  requirement: !ruby/object:Gem::Requirement
115
121
  requirements:
116
122
  - - "~>"
117
123
  - !ruby/object:Gem::Version
118
- version: '0.12'
124
+ version: '0.28'
119
125
  type: :runtime
120
126
  prerelease: false
121
127
  version_requirements: !ruby/object:Gem::Requirement
122
128
  requirements:
123
129
  - - "~>"
124
130
  - !ruby/object:Gem::Version
125
- version: '0.12'
131
+ version: '0.28'
126
132
  - !ruby/object:Gem::Dependency
127
133
  name: google-apis-pubsub_v1
128
134
  requirement: !ruby/object:Gem::Requirement
129
135
  requirements:
130
136
  - - "~>"
131
137
  - !ruby/object:Gem::Version
132
- version: '0.7'
138
+ version: '0.30'
133
139
  type: :runtime
134
140
  prerelease: false
135
141
  version_requirements: !ruby/object:Gem::Requirement
136
142
  requirements:
137
143
  - - "~>"
138
144
  - !ruby/object:Gem::Version
139
- version: '0.7'
145
+ version: '0.30'
140
146
  - !ruby/object:Gem::Dependency
141
147
  name: google-apis-sqladmin_v1beta4
142
148
  requirement: !ruby/object:Gem::Requirement
143
149
  requirements:
144
150
  - - "~>"
145
151
  - !ruby/object:Gem::Version
146
- version: '0.13'
152
+ version: '0.38'
147
153
  type: :runtime
148
154
  prerelease: false
149
155
  version_requirements: !ruby/object:Gem::Requirement
150
156
  requirements:
151
157
  - - "~>"
152
158
  - !ruby/object:Gem::Version
153
- version: '0.13'
159
+ version: '0.38'
154
160
  - !ruby/object:Gem::Dependency
155
161
  name: google-cloud-env
156
162
  requirement: !ruby/object:Gem::Requirement
@@ -165,6 +171,20 @@ dependencies:
165
171
  - - "~>"
166
172
  - !ruby/object:Gem::Version
167
173
  version: '1.2'
174
+ - !ruby/object:Gem::Dependency
175
+ name: addressable
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: 2.7.0
181
+ type: :runtime
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: 2.7.0
168
188
  - !ruby/object:Gem::Dependency
169
189
  name: pry
170
190
  requirement: !ruby/object:Gem::Requirement
@@ -291,7 +311,14 @@ files:
291
311
  - ".fog.example"
292
312
  - ".github/dependabot.yml"
293
313
  - ".github/scripts/setup_creds.sh"
294
- - ".github/workflows/integration.yml"
314
+ - ".github/workflows/integration-compute-core.yml"
315
+ - ".github/workflows/integration-compute-instance_groups.yml"
316
+ - ".github/workflows/integration-compute-loadbalancing.yml"
317
+ - ".github/workflows/integration-compute-networking.yml"
318
+ - ".github/workflows/integration-monitoring.yml"
319
+ - ".github/workflows/integration-pubsub.yml"
320
+ - ".github/workflows/integration-sql.yml"
321
+ - ".github/workflows/integration-storage.yml"
295
322
  - ".github/workflows/stale.yml"
296
323
  - ".github/workflows/unit.yml"
297
324
  - ".gitignore"
@@ -852,7 +879,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
852
879
  - !ruby/object:Gem::Version
853
880
  version: '0'
854
881
  requirements: []
855
- rubygems_version: 3.3.5
882
+ rubygems_version: 3.4.13
856
883
  signing_key:
857
884
  specification_version: 4
858
885
  summary: Module for the 'fog' gem to support Google.
@@ -1,225 +0,0 @@
1
- name: integration-tests
2
-
3
- on:
4
- push:
5
- branches: [ master ]
6
- pull_request:
7
- branches: [ master ]
8
- types: [ assigned, opened, synchronize, reopened, labeled ]
9
-
10
- jobs:
11
- test-compute-core:
12
- runs-on: self-hosted
13
- strategy:
14
- matrix:
15
- ruby-version: [ '2.7', '3.0', '3.1' ]
16
- # Integration tests from the same task cannot run in parallel yet due to cleanup
17
- max-parallel: 1
18
-
19
- steps:
20
- - uses: actions/checkout@v2.4.0
21
- - name: Set up Ruby
22
- uses: ruby/setup-ruby@v1
23
- env:
24
- # Needs to be set up for self-hosted runners, see:
25
- # https://github.com/ruby/setup-ruby#using-self-hosted-runners
26
- # Image used in runners: summerwind/actions-runner
27
- ImageOS: ubuntu20
28
- with:
29
- ruby-version: ${{ matrix.ruby-version }}
30
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
31
- - name: Install dependencies
32
- run: bundle install
33
- - name: Run tests
34
- run: >-
35
- ./.github/scripts/setup_creds.sh &&
36
- bundle exec rake test:compute-core_compute
37
-
38
- test-compute-networking:
39
- runs-on: self-hosted
40
- strategy:
41
- matrix:
42
- ruby-version: [ '2.7', '3.0', '3.1' ]
43
- # Integration tests from the same task cannot run in parallel yet due to cleanup
44
- max-parallel: 1
45
-
46
- steps:
47
- - uses: actions/checkout@v2.4.0
48
- - name: Set up Ruby
49
- uses: ruby/setup-ruby@v1
50
- env:
51
- # Needs to be set up for self-hosted runners, see:
52
- # https://github.com/ruby/setup-ruby#using-self-hosted-runners
53
- # Image used in runners: summerwind/actions-runner
54
- ImageOS: ubuntu20
55
- with:
56
- ruby-version: ${{ matrix.ruby-version }}
57
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
58
- - name: Install dependencies
59
- run: bundle install
60
- - name: Run tests
61
- run: >-
62
- ./.github/scripts/setup_creds.sh &&
63
- bundle exec rake test:compute-core_networking
64
-
65
- test-compute-instance_groups:
66
- runs-on: self-hosted
67
- strategy:
68
- matrix:
69
- ruby-version: [ '2.7', '3.0', '3.1' ]
70
- # Integration tests from the same task cannot run in parallel yet due to cleanup
71
- max-parallel: 1
72
-
73
- steps:
74
- - uses: actions/checkout@v2.4.0
75
- - name: Set up Ruby
76
- uses: ruby/setup-ruby@v1
77
- env:
78
- # Needs to be set up for self-hosted runners, see:
79
- # https://github.com/ruby/setup-ruby#using-self-hosted-runners
80
- # Image used in runners: summerwind/actions-runner
81
- ImageOS: ubuntu20
82
- with:
83
- ruby-version: ${{ matrix.ruby-version }}
84
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
85
- - name: Install dependencies
86
- run: bundle install
87
- - name: Run tests
88
- run: >-
89
- ./.github/scripts/setup_creds.sh &&
90
- bundle exec rake test:compute-instance_groups
91
-
92
- test-compute-loadbalancing:
93
- runs-on: self-hosted
94
- strategy:
95
- matrix:
96
- ruby-version: [ '2.7', '3.0', '3.1' ]
97
- # Integration tests from the same task cannot run in parallel yet due to cleanup
98
- max-parallel: 1
99
-
100
- steps:
101
- - uses: actions/checkout@v2.4.0
102
- - name: Set up Ruby
103
- uses: ruby/setup-ruby@v1
104
- env:
105
- # Needs to be set up for self-hosted runners, see:
106
- # https://github.com/ruby/setup-ruby#using-self-hosted-runners
107
- # Image used in runners: summerwind/actions-runner
108
- ImageOS: ubuntu20
109
- with:
110
- ruby-version: ${{ matrix.ruby-version }}
111
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
112
- - name: Install dependencies
113
- run: bundle install
114
- - name: Run tests
115
- run: >-
116
- ./.github/scripts/setup_creds.sh &&
117
- bundle exec rake test:compute-loadbalancing
118
-
119
- test-monitoring:
120
- runs-on: self-hosted
121
- strategy:
122
- matrix:
123
- ruby-version: [ '2.7', '3.0', '3.1' ]
124
- # Integration tests from the same task cannot run in parallel yet due to cleanup
125
- max-parallel: 1
126
-
127
- steps:
128
- - uses: actions/checkout@v2.4.0
129
- - name: Set up Ruby
130
- uses: ruby/setup-ruby@v1
131
- env:
132
- # Needs to be set up for self-hosted runners, see:
133
- # https://github.com/ruby/setup-ruby#using-self-hosted-runners
134
- # Image used in runners: summerwind/actions-runner
135
- ImageOS: ubuntu20
136
- with:
137
- ruby-version: ${{ matrix.ruby-version }}
138
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
139
- - name: Install dependencies
140
- run: bundle install
141
- - name: Run tests
142
- run: >-
143
- ./.github/scripts/setup_creds.sh &&
144
- bundle exec rake test:monitoring
145
-
146
- test-storage:
147
- runs-on: self-hosted
148
- strategy:
149
- matrix:
150
- ruby-version: [ '2.7', '3.0', '3.1' ]
151
- # Integration tests from the same task cannot run in parallel yet due to cleanup
152
- max-parallel: 1
153
-
154
- steps:
155
- - uses: actions/checkout@v2.4.0
156
- - name: Set up Ruby
157
- uses: ruby/setup-ruby@v1
158
- env:
159
- # Needs to be set up for self-hosted runners, see:
160
- # https://github.com/ruby/setup-ruby#using-self-hosted-runners
161
- # Image used in runners: summerwind/actions-runner
162
- ImageOS: ubuntu20
163
- with:
164
- ruby-version: ${{ matrix.ruby-version }}
165
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
166
- - name: Install dependencies
167
- run: bundle install
168
- - name: Run tests
169
- run: >-
170
- ./.github/scripts/setup_creds.sh &&
171
- bundle exec rake test:storage
172
-
173
- test-pubsub:
174
- runs-on: self-hosted
175
- strategy:
176
- matrix:
177
- ruby-version: [ '2.7', '3.0', '3.1' ]
178
- # Integration tests from the same task cannot run in parallel yet due to cleanup
179
- max-parallel: 1
180
-
181
- steps:
182
- - uses: actions/checkout@v2.4.0
183
- - name: Set up Ruby
184
- uses: ruby/setup-ruby@v1
185
- env:
186
- # Needs to be set up for self-hosted runners, see:
187
- # https://github.com/ruby/setup-ruby#using-self-hosted-runners
188
- # Image used in runners: summerwind/actions-runner
189
- ImageOS: ubuntu20
190
- with:
191
- ruby-version: ${{ matrix.ruby-version }}
192
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
193
- - name: Install dependencies
194
- run: bundle install
195
- - name: Run tests
196
- run: >-
197
- ./.github/scripts/setup_creds.sh &&
198
- bundle exec rake test:pubsub
199
-
200
- test-sql:
201
- runs-on: self-hosted
202
- strategy:
203
- matrix:
204
- ruby-version: [ '2.7', '3.0', '3.1' ]
205
- # Integration tests from the same task cannot run in parallel yet due to cleanup
206
- max-parallel: 1
207
-
208
- steps:
209
- - uses: actions/checkout@v2.4.0
210
- - name: Set up Ruby
211
- uses: ruby/setup-ruby@v1
212
- env:
213
- # Needs to be set up for self-hosted runners, see:
214
- # https://github.com/ruby/setup-ruby#using-self-hosted-runners
215
- # Image used in runners: summerwind/actions-runner
216
- ImageOS: ubuntu20
217
- with:
218
- ruby-version: ${{ matrix.ruby-version }}
219
- bundler-cache: true # runs 'bundle install' and caches installed gems automatically
220
- - name: Install dependencies
221
- run: bundle install
222
- - name: Run tests
223
- run: >-
224
- ./.github/scripts/setup_creds.sh &&
225
- bundle exec rake test:sql