fog-google 1.19.0 → 1.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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