fog-google 1.12.1 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +10 -0
  3. data/.github/scripts/setup_creds.sh +10 -0
  4. data/.github/workflows/integration.yml +225 -0
  5. data/.github/workflows/stale.yml +23 -0
  6. data/.github/workflows/unit.yml +26 -0
  7. data/CHANGELOG.md +65 -1
  8. data/README.md +11 -1
  9. data/fog-google.gemspec +12 -3
  10. data/lib/fog/compute/google/models/address.rb +1 -1
  11. data/lib/fog/compute/google/models/addresses.rb +6 -6
  12. data/lib/fog/compute/google/models/backend_service.rb +1 -1
  13. data/lib/fog/compute/google/models/disk.rb +3 -3
  14. data/lib/fog/compute/google/models/disk_types.rb +2 -2
  15. data/lib/fog/compute/google/models/disks.rb +2 -2
  16. data/lib/fog/compute/google/models/firewall.rb +2 -2
  17. data/lib/fog/compute/google/models/firewalls.rb +1 -1
  18. data/lib/fog/compute/google/models/forwarding_rules.rb +2 -2
  19. data/lib/fog/compute/google/models/global_addresses.rb +1 -1
  20. data/lib/fog/compute/google/models/global_forwarding_rules.rb +1 -1
  21. data/lib/fog/compute/google/models/http_health_check.rb +2 -2
  22. data/lib/fog/compute/google/models/instance_group_managers.rb +2 -2
  23. data/lib/fog/compute/google/models/machine_types.rb +2 -2
  24. data/lib/fog/compute/google/models/network.rb +1 -1
  25. data/lib/fog/compute/google/models/operations.rb +3 -3
  26. data/lib/fog/compute/google/models/region.rb +0 -0
  27. data/lib/fog/compute/google/models/regions.rb +0 -0
  28. data/lib/fog/compute/google/models/servers.rb +7 -4
  29. data/lib/fog/compute/google/models/subnetwork.rb +0 -0
  30. data/lib/fog/compute/google/models/subnetworks.rb +2 -2
  31. data/lib/fog/compute/google/models/target_instances.rb +2 -2
  32. data/lib/fog/compute/google/models/target_pools.rb +2 -2
  33. data/lib/fog/compute/google/models/url_maps.rb +1 -1
  34. data/lib/fog/compute/google/requests/abandon_instances.rb +1 -1
  35. data/lib/fog/compute/google/requests/add_instance_group_instances.rb +3 -3
  36. data/lib/fog/compute/google/requests/add_server_access_config.rb +3 -3
  37. data/lib/fog/compute/google/requests/add_target_pool_health_checks.rb +2 -2
  38. data/lib/fog/compute/google/requests/add_target_pool_instances.rb +2 -2
  39. data/lib/fog/compute/google/requests/attach_disk.rb +1 -1
  40. data/lib/fog/compute/google/requests/create_disk_snapshot.rb +1 -1
  41. data/lib/fog/compute/google/requests/expand_subnetwork_ip_cidr_range.rb +1 -1
  42. data/lib/fog/compute/google/requests/get_backend_service_health.rb +1 -1
  43. data/lib/fog/compute/google/requests/get_region.rb +0 -0
  44. data/lib/fog/compute/google/requests/get_server_serial_port_output.rb +2 -2
  45. data/lib/fog/compute/google/requests/get_target_pool_health.rb +1 -1
  46. data/lib/fog/compute/google/requests/insert_address.rb +2 -2
  47. data/lib/fog/compute/google/requests/insert_backend_service.rb +1 -1
  48. data/lib/fog/compute/google/requests/insert_disk.rb +1 -1
  49. data/lib/fog/compute/google/requests/insert_firewall.rb +1 -1
  50. data/lib/fog/compute/google/requests/insert_forwarding_rule.rb +1 -1
  51. data/lib/fog/compute/google/requests/insert_global_address.rb +1 -1
  52. data/lib/fog/compute/google/requests/insert_global_forwarding_rule.rb +1 -1
  53. data/lib/fog/compute/google/requests/insert_http_health_check.rb +1 -1
  54. data/lib/fog/compute/google/requests/insert_image.rb +1 -1
  55. data/lib/fog/compute/google/requests/insert_instance_group.rb +3 -3
  56. data/lib/fog/compute/google/requests/insert_instance_group_manager.rb +7 -7
  57. data/lib/fog/compute/google/requests/insert_instance_template.rb +3 -3
  58. data/lib/fog/compute/google/requests/insert_network.rb +2 -12
  59. data/lib/fog/compute/google/requests/insert_route.rb +10 -10
  60. data/lib/fog/compute/google/requests/insert_server.rb +9 -9
  61. data/lib/fog/compute/google/requests/insert_ssl_certificate.rb +4 -4
  62. data/lib/fog/compute/google/requests/insert_subnetwork.rb +1 -1
  63. data/lib/fog/compute/google/requests/insert_target_http_proxy.rb +3 -3
  64. data/lib/fog/compute/google/requests/insert_target_https_proxy.rb +4 -4
  65. data/lib/fog/compute/google/requests/insert_target_instance.rb +1 -1
  66. data/lib/fog/compute/google/requests/insert_target_pool.rb +1 -1
  67. data/lib/fog/compute/google/requests/insert_url_map.rb +1 -1
  68. data/lib/fog/compute/google/requests/invalidate_url_map_cache.rb +1 -1
  69. data/lib/fog/compute/google/requests/list_addresses.rb +4 -4
  70. data/lib/fog/compute/google/requests/list_aggregated_addresses.rb +1 -1
  71. data/lib/fog/compute/google/requests/list_aggregated_disk_types.rb +2 -2
  72. data/lib/fog/compute/google/requests/list_aggregated_disks.rb +2 -2
  73. data/lib/fog/compute/google/requests/list_aggregated_forwarding_rules.rb +2 -2
  74. data/lib/fog/compute/google/requests/list_aggregated_instance_group_managers.rb +4 -4
  75. data/lib/fog/compute/google/requests/list_aggregated_instance_groups.rb +1 -1
  76. data/lib/fog/compute/google/requests/list_aggregated_machine_types.rb +2 -2
  77. data/lib/fog/compute/google/requests/list_aggregated_servers.rb +2 -2
  78. data/lib/fog/compute/google/requests/list_aggregated_subnetworks.rb +4 -4
  79. data/lib/fog/compute/google/requests/list_aggregated_target_instances.rb +4 -4
  80. data/lib/fog/compute/google/requests/list_aggregated_target_pools.rb +4 -4
  81. data/lib/fog/compute/google/requests/list_disk_types.rb +2 -2
  82. data/lib/fog/compute/google/requests/list_disks.rb +2 -2
  83. data/lib/fog/compute/google/requests/list_firewalls.rb +4 -4
  84. data/lib/fog/compute/google/requests/list_forwarding_rules.rb +2 -2
  85. data/lib/fog/compute/google/requests/list_global_addresses.rb +5 -5
  86. data/lib/fog/compute/google/requests/list_global_forwarding_rules.rb +2 -2
  87. data/lib/fog/compute/google/requests/list_global_operations.rb +4 -4
  88. data/lib/fog/compute/google/requests/list_http_health_checks.rb +2 -2
  89. data/lib/fog/compute/google/requests/list_images.rb +2 -2
  90. data/lib/fog/compute/google/requests/list_instance_group_managers.rb +2 -2
  91. data/lib/fog/compute/google/requests/list_instance_templates.rb +4 -4
  92. data/lib/fog/compute/google/requests/list_machine_types.rb +4 -4
  93. data/lib/fog/compute/google/requests/list_networks.rb +4 -4
  94. data/lib/fog/compute/google/requests/list_subnetworks.rb +4 -4
  95. data/lib/fog/compute/google/requests/list_target_pools.rb +4 -4
  96. data/lib/fog/compute/google/requests/list_url_maps.rb +2 -2
  97. data/lib/fog/compute/google/requests/patch_firewall.rb +1 -1
  98. data/lib/fog/compute/google/requests/remove_instance_group_instances.rb +3 -3
  99. data/lib/fog/compute/google/requests/remove_target_pool_health_checks.rb +2 -2
  100. data/lib/fog/compute/google/requests/remove_target_pool_instance.rb +2 -2
  101. data/lib/fog/compute/google/requests/remove_target_pool_instances.rb +2 -2
  102. data/lib/fog/compute/google/requests/set_common_instance_metadata.rb +2 -2
  103. data/lib/fog/compute/google/requests/set_forwarding_rule_target.rb +1 -1
  104. data/lib/fog/compute/google/requests/set_global_forwarding_rule_target.rb +1 -1
  105. data/lib/fog/compute/google/requests/set_server_metadata.rb +2 -2
  106. data/lib/fog/compute/google/requests/set_server_tags.rb +2 -2
  107. data/lib/fog/compute/google/requests/set_snapshot_labels.rb +2 -2
  108. data/lib/fog/compute/google/requests/set_subnetwork_private_ip_google_access.rb +1 -1
  109. data/lib/fog/compute/google/requests/set_target_http_proxy_url_map.rb +1 -1
  110. data/lib/fog/compute/google/requests/set_target_https_proxy_ssl_certificates.rb +1 -1
  111. data/lib/fog/compute/google/requests/set_target_https_proxy_url_map.rb +1 -1
  112. data/lib/fog/compute/google/requests/set_target_pool_backup.rb +2 -2
  113. data/lib/fog/compute/google/requests/update_firewall.rb +1 -1
  114. data/lib/fog/compute/google/requests/update_http_health_check.rb +1 -1
  115. data/lib/fog/compute/google/requests/update_url_map.rb +1 -1
  116. data/lib/fog/compute/google/requests/validate_url_map.rb +1 -1
  117. data/lib/fog/dns/google/requests/create_change.rb +2 -2
  118. data/lib/fog/google/models/sql/instance.rb +2 -2
  119. data/lib/fog/google/requests/monitoring/create_metric_descriptor.rb +8 -8
  120. data/lib/fog/google/requests/monitoring/create_timeseries.rb +1 -1
  121. data/lib/fog/google/requests/monitoring/list_timeseries.rb +1 -1
  122. data/lib/fog/google/requests/pubsub/acknowledge_subscription.rb +1 -1
  123. data/lib/fog/google/requests/pubsub/create_subscription.rb +3 -3
  124. data/lib/fog/google/requests/sql/clone_instance.rb +4 -4
  125. data/lib/fog/google/requests/sql/export_instance.rb +3 -3
  126. data/lib/fog/google/requests/sql/import_instance.rb +2 -2
  127. data/lib/fog/google/requests/sql/insert_backup_run.rb +1 -1
  128. data/lib/fog/google/requests/sql/insert_instance.rb +2 -2
  129. data/lib/fog/google/requests/sql/insert_ssl_cert.rb +1 -1
  130. data/lib/fog/google/requests/sql/insert_user.rb +1 -1
  131. data/lib/fog/google/requests/sql/restore_instance_backup.rb +4 -4
  132. data/lib/fog/google/requests/sql/update_instance.rb +2 -2
  133. data/lib/fog/google/shared.rb +3 -3
  134. data/lib/fog/google/version.rb +1 -1
  135. data/lib/fog/storage/google_json/models/directories.rb +1 -1
  136. data/lib/fog/storage/google_json/models/directory.rb +1 -1
  137. data/lib/fog/storage/google_json/models/file.rb +11 -2
  138. data/lib/fog/storage/google_json/models/files.rb +3 -3
  139. data/lib/fog/storage/google_json/real.rb +4 -4
  140. data/lib/fog/storage/google_json/requests/copy_object.rb +11 -1
  141. data/lib/fog/storage/google_json/requests/get_object.rb +6 -3
  142. data/lib/fog/storage/google_json/requests/get_object_url.rb +2 -2
  143. data/lib/fog/storage/google_json/requests/list_buckets.rb +4 -4
  144. data/lib/fog/storage/google_json/requests/list_objects.rb +1 -1
  145. data/lib/fog/storage/google_json/requests/put_bucket.rb +1 -1
  146. data/lib/fog/storage/google_json/requests/put_bucket_acl.rb +1 -1
  147. data/lib/fog/storage/google_json/requests/put_object.rb +1 -1
  148. data/lib/fog/storage/google_json/requests/put_object_acl.rb +1 -1
  149. data/lib/fog/storage/google_json/utils.rb +5 -1
  150. data/lib/fog/storage/google_xml/models/file.rb +1 -1
  151. data/test/helpers/integration_test_helper.rb +2 -2
  152. data/test/helpers/test_helper.rb +7 -3
  153. data/test/integration/compute/core_compute/test_servers.rb +2 -2
  154. data/test/integration/compute/core_networking/test_networks.rb +0 -11
  155. data/test/integration/factories/networks_factory.rb +4 -6
  156. data/test/integration/monitoring/test_metric_descriptors.rb +1 -1
  157. data/test/integration/storage/storage_shared.rb +7 -2
  158. data/test/integration/storage/test_objects.rb +23 -1
  159. data/test/unit/storage/test_json_requests.rb +8 -0
  160. metadata +103 -31
  161. data/.travis.yml +0 -33
  162. data/ci/.gitignore +0 -1
  163. data/ci/README.md +0 -65
  164. data/ci/build-head-pipeline.yml +0 -173
  165. data/ci/credentials.yml.template +0 -28
  166. data/ci/docker-image/Dockerfile +0 -18
  167. data/ci/integration-pipeline.yml +0 -226
  168. data/ci/pipeline-dev.yml +0 -58
  169. data/ci/tasks/run-int.sh +0 -53
  170. data/ci/tasks/run-int.yml +0 -18
  171. data/ci/tasks/utils.sh +0 -10
@@ -68,7 +68,7 @@ class TestMetricDescriptors < FogIntegrationTest
68
68
  :labels => [label]
69
69
  }
70
70
 
71
- created = @client.create_metric_descriptor(options)
71
+ created = @client.create_metric_descriptor(**options)
72
72
 
73
73
  # Check created metric descriptor
74
74
  assert_equal(_full_name(metric_type), created.name)
@@ -86,9 +86,14 @@ class StorageShared < FogIntegrationTest
86
86
  "hello world"
87
87
  end
88
88
 
89
- def some_temp_file
89
+ def binary_file_content
90
+ "PK\x03\x04\x14\x00\x00\x00\b\x00\x18\x89\x8AM\xE7!\xB7\x1C\x1C\x15j\x00\xB4\xB9".force_encoding(Encoding::ASCII_8BIT)
91
+ end
92
+
93
+ def some_temp_file(content = temp_file_content)
90
94
  @some_temp_file ||= Tempfile.new("fog-google-storage").tap do |t|
91
- t.write(temp_file_content)
95
+ t.binmode
96
+ t.write(content)
92
97
  t.close
93
98
  end
94
99
  File.open(@some_temp_file.path, "r")
@@ -34,13 +34,15 @@ class TestStorageRequests < StorageShared
34
34
 
35
35
  def test_put_object_paperclip
36
36
  object_name = new_object_name
37
- paperclip_file = OpenStruct.new(:path => some_temp_file,
37
+ paperclip_file = OpenStruct.new(:path => some_temp_file(binary_file_content),
38
38
  :content_type => "image/png")
39
39
  @client.put_object(some_bucket_name, object_name, paperclip_file, :content_type => "image/png")
40
40
 
41
41
  object = @client.get_object(some_bucket_name, object_name)
42
42
 
43
43
  assert_equal(object_name, object[:name])
44
+ assert_equal(Encoding::ASCII_8BIT, object[:body].encoding)
45
+ assert_equal(binary_file_content, object[:body])
44
46
  assert_equal("image/png", object[:content_type])
45
47
  end
46
48
 
@@ -113,6 +115,26 @@ class TestStorageRequests < StorageShared
113
115
  assert_kind_of(Net::HTTPOK, response)
114
116
  end
115
117
 
118
+ def test_copy_object_with_request_options
119
+ assert_raises(Google::Apis::AuthorizationError) do
120
+ target_object_name = new_object_name
121
+
122
+ @client.copy_object(some_bucket_name, some_object_name,
123
+ some_bucket_name, target_object_name, authorization: false)
124
+ end
125
+ end
126
+
127
+ def test_copy_object_with_object_property
128
+ target_object_name = new_object_name
129
+
130
+ @client.copy_object(some_bucket_name, some_object_name,
131
+ some_bucket_name, target_object_name, content_type: 'text/plain')
132
+
133
+ object = @client.get_object(some_bucket_name, target_object_name)
134
+
135
+ assert_equal("text/plain", object[:content_type])
136
+ end
137
+
116
138
  def test_list_objects
117
139
  expected_object = some_object_name
118
140
 
@@ -41,4 +41,12 @@ class UnitTestJsonRequests < MiniTest::Test
41
41
  assert_match(/just%20some%20file\.json/, url,
42
42
  "space should be escaped with '%20'")
43
43
  end
44
+
45
+ def test_unescaped_slashes_in_url
46
+ url = @client.get_object_https_url("bucket",
47
+ "a/b/c.ext",
48
+ Time.now + 2 * 60)
49
+ assert_match(/a\/b\/c/, url,
50
+ "slashes should not be escaped with '%2F'")
51
+ end
44
52
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-google
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.1
4
+ version: 1.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nat Welch
8
8
  - Artem Yakimenko
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-12-17 00:00:00.000000000 Z
12
+ date: 2021-09-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog-core
@@ -54,25 +54,103 @@ dependencies:
54
54
  - !ruby/object:Gem::Version
55
55
  version: 0.1.0
56
56
  - !ruby/object:Gem::Dependency
57
- name: google-api-client
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.44.2
63
- - - "<"
62
+ version: '0.6'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
64
68
  - !ruby/object:Gem::Version
65
- version: '0.51'
69
+ version: '0.6'
70
+ - !ruby/object:Gem::Dependency
71
+ name: google-apis-iamcredentials_v1
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '0.6'
66
77
  type: :runtime
67
78
  prerelease: false
68
79
  version_requirements: !ruby/object:Gem::Requirement
69
80
  requirements:
70
- - - ">="
81
+ - - "~>"
71
82
  - !ruby/object:Gem::Version
72
- version: 0.44.2
73
- - - "<"
83
+ version: '0.6'
84
+ - !ruby/object:Gem::Dependency
85
+ name: google-apis-compute_v1
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
74
89
  - !ruby/object:Gem::Version
75
- version: '0.51'
90
+ version: '0.14'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '0.14'
98
+ - !ruby/object:Gem::Dependency
99
+ name: google-apis-monitoring_v3
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '0.12'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '0.12'
112
+ - !ruby/object:Gem::Dependency
113
+ name: google-apis-dns_v1
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '0.12'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '0.12'
126
+ - !ruby/object:Gem::Dependency
127
+ name: google-apis-pubsub_v1
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: '0.7'
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '0.7'
140
+ - !ruby/object:Gem::Dependency
141
+ name: google-apis-sqladmin_v1beta4
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '0.13'
147
+ type: :runtime
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '0.13'
76
154
  - !ruby/object:Gem::Dependency
77
155
  name: google-cloud-env
78
156
  requirement: !ruby/object:Gem::Requirement
@@ -91,16 +169,16 @@ dependencies:
91
169
  name: pry
92
170
  requirement: !ruby/object:Gem::Requirement
93
171
  requirements:
94
- - - ">="
172
+ - - '='
95
173
  - !ruby/object:Gem::Version
96
- version: '0'
174
+ version: 0.13.0
97
175
  type: :development
98
176
  prerelease: false
99
177
  version_requirements: !ruby/object:Gem::Requirement
100
178
  requirements:
101
- - - ">="
179
+ - - '='
102
180
  - !ruby/object:Gem::Version
103
- version: '0'
181
+ version: 0.13.0
104
182
  - !ruby/object:Gem::Dependency
105
183
  name: retriable
106
184
  requirement: !ruby/object:Gem::Requirement
@@ -211,11 +289,15 @@ files:
211
289
  - ".codecov.yml"
212
290
  - ".editorconfig"
213
291
  - ".fog.example"
292
+ - ".github/dependabot.yml"
293
+ - ".github/scripts/setup_creds.sh"
294
+ - ".github/workflows/integration.yml"
295
+ - ".github/workflows/stale.yml"
296
+ - ".github/workflows/unit.yml"
214
297
  - ".gitignore"
215
298
  - ".hound.yml"
216
299
  - ".rubocop.yml"
217
300
  - ".ruby-gemset"
218
- - ".travis.yml"
219
301
  - CHANGELOG.md
220
302
  - CONTRIBUTING.md
221
303
  - CONTRIBUTORS.md
@@ -225,16 +307,6 @@ files:
225
307
  - README.md
226
308
  - Rakefile
227
309
  - SECURITY.md
228
- - ci/.gitignore
229
- - ci/README.md
230
- - ci/build-head-pipeline.yml
231
- - ci/credentials.yml.template
232
- - ci/docker-image/Dockerfile
233
- - ci/integration-pipeline.yml
234
- - ci/pipeline-dev.yml
235
- - ci/tasks/run-int.sh
236
- - ci/tasks/run-int.yml
237
- - ci/tasks/utils.sh
238
310
  - examples/backend_services.rb
239
311
  - examples/bootstrap.rb
240
312
  - examples/create_instance.rb
@@ -765,13 +837,13 @@ homepage: https://github.com/fog/fog-google
765
837
  licenses:
766
838
  - MIT
767
839
  metadata: {}
768
- post_install_message:
840
+ post_install_message:
769
841
  rdoc_options: []
770
842
  require_paths:
771
843
  - lib
772
844
  required_ruby_version: !ruby/object:Gem::Requirement
773
845
  requirements:
774
- - - "~>"
846
+ - - ">="
775
847
  - !ruby/object:Gem::Version
776
848
  version: '2.0'
777
849
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -780,8 +852,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
780
852
  - !ruby/object:Gem::Version
781
853
  version: '0'
782
854
  requirements: []
783
- rubygems_version: 3.0.3
784
- signing_key:
855
+ rubygems_version: 3.1.6
856
+ signing_key:
785
857
  specification_version: 4
786
858
  summary: Module for the 'fog' gem to support Google.
787
859
  test_files:
data/.travis.yml DELETED
@@ -1,33 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: false
4
- matrix:
5
- fast_finish: true
6
- include:
7
- - rvm: 2.4
8
- - rvm: 2.5
9
- - rvm: 2.6
10
- - rvm: 2.7
11
- - rvm: jruby-9.2
12
- - rvm: jruby-head
13
- - rvm: truffleruby-head
14
- # ppc64le support code
15
- - rvm: 2.4
16
- arch: ppc64le
17
- - rvm: 2.5
18
- arch: ppc64le
19
- - rvm: 2.6
20
- arch: ppc64le
21
- - rvm: 2.7
22
- arch: ppc64le
23
- - rvm: jruby-9.2
24
- arch: ppc64le
25
- - rvm: jruby-head
26
- arch: ppc64le
27
- allow_failures:
28
- - rvm: jruby-head
29
- - rvm: truffleruby-head
30
- - rvm: jruby-head
31
- arch: ppc64le
32
- notifications:
33
- email: false
data/ci/.gitignore DELETED
@@ -1 +0,0 @@
1
- credentials.yml
data/ci/README.md DELETED
@@ -1,65 +0,0 @@
1
- # fog-google CI
2
-
3
- This pipeline performs integration tests against every PR with the
4
- `integrate` label. This allows whitelisted PRs to be tested
5
- automatically before being merged. Status is updated on the
6
- PR when the test completes.
7
-
8
- ## Setup
9
-
10
- In order to run the fog-google Concourse Pipeline you must have an existing
11
- [Concourse](http://concourse.ci) environment.
12
-
13
- To deploy the pipeline:
14
-
15
- * Download the `fly` binary from the Concourse web interface and place it in your `$PATH`.
16
-
17
- * Login to your Concourse:
18
-
19
- ```
20
- fly -t fog-ci login -c <YOUR CONCOURSE URL>
21
- ```
22
-
23
- * Update the [credentials.yml](https://github.com/fog/fog-google/blob/master/ci/credentials.yml.tpl)
24
- file. See [Credentials Requirements](#credentials-requirements) for specific instructions.
25
-
26
- * Set the fog-google pipelines:
27
-
28
- ```
29
- fly -t fog set-pipeline -p build-head -c build-head-pipeline.yml -l credentials.yml
30
- fly -t fog-ci set-pipeline -p pr-integration -c integration-pipeline.yml -l credentials.yml
31
- ```
32
-
33
- * Unpause the fog-google pipeline:
34
-
35
- ```
36
- fly -t fog-ci unpause-pipeline -p pr-integration
37
- ```
38
-
39
- ## Credentials Requirements
40
-
41
- Several external pieces of authentication are needed for credentials.yml
42
-
43
- 1. A JSON Service Account File for a service account with at least Editor access to the project.
44
- * To get a Service Account File, see [here](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount)
45
- and create using the Project/Editor role.
46
-
47
- 1. A [Github Access Token](https://github.com/blog/1509-personal-api-tokens) with at least
48
- `repo:status` access and a private key with push access to the `fog/fog-google` repositoy.
49
-
50
- 1. A [Codecov.io](https://codecov.io/) token for tracking test coverage.
51
-
52
- These items are equivalent to your login credentials for their resources.
53
-
54
- ## Login Gotchas
55
-
56
- * Our concourse pipeline is using GitHub auth, providing access to manipulate the pipeline to the members of the [fog-google team](https://github.com/orgs/fog/teams/fog-google), managed through the OAuth application managed by [fog-google bot](https://github.com/fog-google-bot).
57
-
58
- * If logging into a specific team, ie `fog-google`, use `--team-name fog-google` to specify that.
59
-
60
- ## Dockerfile
61
-
62
- The [docker-image](https://github.com/fog/fog-google/blob/master/ci/docker-image) directory contains
63
- the Dockerfile necessary for recreating the Docker image used in tasks. This is referenced
64
- in a per-task basis as `image_resource`, ie in
65
- image_resource [run-int.yml](https://github.com/fog/fog-google/blob/master/ci/tasks/run-int.yml)
@@ -1,173 +0,0 @@
1
- jobs:
2
- - name: manual-trigger
3
- plan:
4
- - get: master
5
- trigger: false
6
-
7
- - name: integration-compute-core_compute
8
- serial: true
9
- plan:
10
- - get: fog-google-src
11
- resource: master
12
- version: every
13
- trigger: true
14
- passed:
15
- - manual-trigger
16
-
17
- - task: run-integration-tests
18
- file: fog-google-src/ci/tasks/run-int.yml
19
- params:
20
- rake_task: test:compute-core_compute
21
- codecov_token: {{codecov_token}}
22
- google_project: {{google_project}}
23
- google_json_key_data: {{google_json_key_data}}
24
-
25
- - name: integration-compute-core_networking
26
- serial: true
27
- plan:
28
- - get: fog-google-src
29
- resource: master
30
- version: every
31
- trigger: true
32
- passed:
33
- - manual-trigger
34
-
35
- - task: run-integration-tests
36
- file: fog-google-src/ci/tasks/run-int.yml
37
- params:
38
- rake_task: test:compute-core_networking
39
- codecov_token: {{codecov_token}}
40
- google_project: {{google_project}}
41
- google_json_key_data: {{google_json_key_data}}
42
-
43
- - name: integration-compute-instance_groups
44
- serial: true
45
- plan:
46
- - get: fog-google-src
47
- resource: master
48
- version: every
49
- trigger: true
50
- passed:
51
- - manual-trigger
52
-
53
- - task: run-integration-tests
54
- file: fog-google-src/ci/tasks/run-int.yml
55
- params:
56
- rake_task: test:compute-instance_groups
57
- codecov_token: {{codecov_token}}
58
- google_project: {{google_project}}
59
- google_json_key_data: {{google_json_key_data}}
60
-
61
- - name: integration-compute-loadbalancing
62
- serial: true
63
- plan:
64
- - get: fog-google-src
65
- resource: master
66
- version: every
67
- trigger: true
68
- passed:
69
- - manual-trigger
70
-
71
- - task: run-integration-tests
72
- file: fog-google-src/ci/tasks/run-int.yml
73
- params:
74
- rake_task: test:compute-loadbalancing
75
- codecov_token: {{codecov_token}}
76
- google_project: {{google_project}}
77
- google_json_key_data: {{google_json_key_data}}
78
-
79
- - name: integration-tests-monitoring
80
- serial: true
81
- plan:
82
- - get: fog-google-src
83
- resource: master
84
- version: every
85
- trigger: true
86
- passed:
87
- - manual-trigger
88
-
89
- - task: run-integration-tests
90
- file: fog-google-src/ci/tasks/run-int.yml
91
- params:
92
- rake_task: test:monitoring
93
- codecov_token: {{codecov_token}}
94
- google_project: {{google_project}}
95
- google_json_key_data: {{google_json_key_data}}
96
-
97
- - name: integration-tests-pubsub
98
- serial: true
99
- plan:
100
- - get: fog-google-src
101
- resource: master
102
- version: every
103
- trigger: true
104
- passed:
105
- - manual-trigger
106
-
107
- - task: run-integration-tests
108
- file: fog-google-src/ci/tasks/run-int.yml
109
- params:
110
- rake_task: test:pubsub
111
- codecov_token: {{codecov_token}}
112
- google_project: {{google_project}}
113
- google_json_key_data: {{google_json_key_data}}
114
-
115
- - name: integration-sqlv1
116
- serial: true
117
- plan:
118
- - get: fog-google-src
119
- resource: master
120
- version: every
121
- trigger: true
122
- passed:
123
- - manual-trigger
124
-
125
- - task: run-integration-tests
126
- file: fog-google-src/ci/tasks/run-int.yml
127
- params:
128
- rake_task: test:sql-sqlv1
129
- codecov_token: {{codecov_token}}
130
- google_project: {{google_project}}
131
- google_json_key_data: {{google_json_key_data}}
132
-
133
- - name: integration-sqlv2
134
- serial: true
135
- plan:
136
- - get: fog-google-src
137
- resource: master
138
- version: every
139
- trigger: true
140
- passed:
141
- - manual-trigger
142
-
143
- - task: run-integration-tests
144
- file: fog-google-src/ci/tasks/run-int.yml
145
- params:
146
- rake_task: test:sql-sqlv2
147
- codecov_token: {{codecov_token}}
148
- google_project: {{google_project}}
149
- google_json_key_data: {{google_json_key_data}}
150
-
151
- - name: integration-tests-storage
152
- serial: true
153
- plan:
154
- - get: fog-google-src
155
- resource: master
156
- version: every
157
- trigger: true
158
- passed:
159
- - manual-trigger
160
- - task: run-integration-tests
161
- file: fog-google-src/ci/tasks/run-int.yml
162
- params:
163
- rake_task: test:storage
164
- codecov_token: {{codecov_token}}
165
- google_project: {{google_project}}
166
- google_json_key_data: {{google_json_key_data}}
167
-
168
- resources:
169
- - name: master
170
- type: git
171
- source:
172
- uri: https://github.com/fog/fog-google.git
173
- branch: master
@@ -1,28 +0,0 @@
1
- ---
2
- # Codecov.io token to upload coverage reports
3
- codecov_token:
4
- # Google Cloud Platform project to run under
5
- google_project:
6
- # Google Compute Engine Service Account JSON
7
- google_json_key_data: |
8
- {
9
- "type": "service_account",
10
- "project_id": "myproject",
11
- "private_key_id": "number",
12
- "private_key": "-----BEGIN PRIVATE KEY-----\nIAMAVERYLONGKEYAMA==\n-----END PRIVATE KEY-----\n",
13
- "client_email": "account@myproject.iam.gserviceaccount.com",
14
- "client_id": "7435873987592347",
15
- "auth_uri": "https://accounts.google.com/o/oauth2/auth",
16
- "token_uri": "https://accounts.google.com/o/oauth2/token",
17
- "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
18
- "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/account%40myproject.iam.gserviceaccount.com"
19
- }
20
-
21
- # An access token with repo:status access from an account that has push access to the repo
22
- github_access_token:
23
- # A SSH private key associated with the access token's account or
24
- # a repo push deploy key
25
- github_private_key: |
26
- -----BEGIN RSA PRIVATE KEY-----
27
- IAMAVERYLONGKEYAMA=
28
- -----END RSA PRIVATE KEY-----
@@ -1,18 +0,0 @@
1
- FROM ubuntu:18.04
2
-
3
- # Common dependencies for the CI env and gems with C extensions
4
- RUN DEBIAN_FRONTEND=noninteractive apt-get -y -qq update && apt-get -y -qq install \
5
- build-essential \
6
- curl \
7
- git \
8
- zlib1g-dev \
9
- libssl-dev \
10
- libreadline-dev \
11
- libyaml-dev \
12
- libxml2-dev \
13
- libxslt-dev
14
-
15
- # Ubuntu 18.04 will fetch us Ruby 2.5.x
16
- RUN DEBIAN_FRONTEND=noninteractive apt-get -y -qq install ruby ruby-dev && apt-get clean
17
-
18
- RUN gem install bundler