pact_broker 2.118.0 → 2.120.0
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 +4 -4
- data/CHANGELOG.md +49 -0
- data/Gemfile +2 -0
- data/README.md +1 -1
- data/db/migrations/000015_create_pact_version_content.rb +1 -1
- data/db/migrations/000023_create_pact_versions_table.rb +1 -1
- data/db/migrations/000033_create_config_table.rb +1 -1
- data/db/migrations/000036_create_webhook_execution.rb +1 -1
- data/db/migrations/20180108_create_certificates_table.rb +1 -1
- data/db/migrations/20251106_add_branch_versions_version_id_branch_name_index.rb +21 -0
- data/db/migrations/20260119_add_index_on_consumer_id_provider_id_to_pact_versions.rb +20 -0
- data/db/migrations/20260123_drop_branch_versions_branch_name_index.rb +17 -0
- data/db/migrations/20260210_add_index_on_pact_version_id_to_latest_pact_publication.rb +22 -0
- data/db/migrations/20260217_add_wip_query_optimization_indexes.rb +31 -0
- data/db/migrations/migration_helper.rb +5 -1
- data/lib/pact_broker/api/decorators/triggered_webhook_logs_decorator.rb +4 -0
- data/lib/pact_broker/api/decorators/version_decorator.rb +24 -4
- data/lib/pact_broker/api/resources/branch_versions.rb +5 -1
- data/lib/pact_broker/api/resources/can_i_deploy_pacticipant_version_by_branch_to_environment.rb +4 -1
- data/lib/pact_broker/api/resources/can_i_deploy_pacticipant_version_by_branch_to_environment_badge.rb +1 -0
- data/lib/pact_broker/api/resources/clean.rb +9 -1
- data/lib/pact_broker/api/resources/pacticipants_for_label.rb +29 -1
- data/lib/pact_broker/api/resources/provider_pacts_for_verification.rb +1 -1
- data/lib/pact_broker/api/resources/tag_versions.rb +5 -1
- data/lib/pact_broker/api/resources/version.rb +5 -1
- data/lib/pact_broker/api/resources/versions.rb +5 -1
- data/lib/pact_broker/configuration.rb +26 -0
- data/lib/pact_broker/db/clean/branch_selector.rb +40 -0
- data/lib/pact_broker/db/clean.rb +45 -0
- data/lib/pact_broker/db/clean_incremental.rb +77 -9
- data/lib/pact_broker/deployments/deployed_version_service.rb +1 -0
- data/lib/pact_broker/deployments/released_version_service.rb +14 -0
- data/lib/pact_broker/domain/pacticipant.rb +12 -1
- data/lib/pact_broker/logging.rb +10 -0
- data/lib/pact_broker/matrix/parse_can_i_deploy_query.rb +5 -0
- data/lib/pact_broker/pacticipants/repository.rb +1 -1
- data/lib/pact_broker/pacts/pact_publication_dataset_module.rb +5 -1
- data/lib/pact_broker/pacts/pact_publication_wip_dataset_module.rb +13 -4
- data/lib/pact_broker/pacts/pacts_for_verification_repository.rb +90 -2
- data/lib/pact_broker/pacts/repository.rb +2 -2
- data/lib/pact_broker/pacts/service.rb +1 -1
- data/lib/pact_broker/tasks/clean_task.rb +23 -1
- data/lib/pact_broker/version.rb +1 -1
- data/lib/pact_broker/versions/branch_repository.rb +1 -1
- data/lib/pact_broker/versions/branch_service.rb +1 -1
- data/lib/pact_broker/versions/branch_version_repository.rb +2 -1
- data/lib/pact_broker/webhooks/event_listener.rb +1 -1
- data/lib/pact_broker/webhooks/execution_configuration.rb +4 -0
- data/lib/pact_broker/webhooks/redact_logs.rb +4 -4
- data/lib/sequel/plugins/upsert.rb +7 -0
- data/pact_broker.gemspec +6 -5
- metadata +30 -28
|
@@ -68,6 +68,7 @@ module Sequel
|
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
def manual_upsert(opts)
|
|
71
|
+
sync_deserialized_values_to_values
|
|
71
72
|
# Can use slice when we drop support for Ruby 2.4
|
|
72
73
|
query = values.select{ |k, _| self.class.upsert_plugin_identifying_columns.include?(k) }
|
|
73
74
|
existing_record = model.where(query).single_record
|
|
@@ -79,6 +80,12 @@ module Sequel
|
|
|
79
80
|
end
|
|
80
81
|
end
|
|
81
82
|
|
|
83
|
+
def sync_deserialized_values_to_values
|
|
84
|
+
if respond_to?(:deserialized_values) && deserialized_values.is_a?(Hash)
|
|
85
|
+
deserialized_values.each { |k, v| values[k] = v }
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
82
89
|
# naughty override of Sequel private method to
|
|
83
90
|
# avoid having to rewrite the whole save method logic
|
|
84
91
|
def _insert_dataset
|
data/pact_broker.gemspec
CHANGED
|
@@ -49,17 +49,17 @@ Gem::Specification.new do |gem|
|
|
|
49
49
|
gem.require_paths = ["lib"]
|
|
50
50
|
gem.license = "MIT"
|
|
51
51
|
|
|
52
|
-
gem.add_runtime_dependency "json", "
|
|
52
|
+
gem.add_runtime_dependency "json", ">= 2.19.9"
|
|
53
53
|
gem.add_runtime_dependency "psych", "~> 5.0"
|
|
54
54
|
gem.add_runtime_dependency "roar", "~> 1.1"
|
|
55
55
|
gem.add_runtime_dependency "dry-validation", "~> 1.8"
|
|
56
56
|
gem.add_runtime_dependency "reform", "~> 2.6"
|
|
57
57
|
gem.add_runtime_dependency "sequel", "~> 5.90"
|
|
58
|
-
gem.add_runtime_dependency "webmachine", "
|
|
58
|
+
gem.add_runtime_dependency "webmachine", "~> 2.0"
|
|
59
59
|
gem.add_runtime_dependency "semver2", "~> 3.4.2"
|
|
60
60
|
gem.add_runtime_dependency "rack", "~> 3.2"
|
|
61
|
-
gem.add_runtime_dependency "redcarpet", "
|
|
62
|
-
gem.add_runtime_dependency "pact-support"
|
|
61
|
+
gem.add_runtime_dependency "redcarpet", "~> 3.5"
|
|
62
|
+
gem.add_runtime_dependency "pact-support", "~> 1.21"
|
|
63
63
|
gem.add_runtime_dependency "haml", "~>5.0"
|
|
64
64
|
gem.add_runtime_dependency "sucker_punch", "~>3.0"
|
|
65
65
|
gem.add_runtime_dependency "rack-protection", "~> 4.1"
|
|
@@ -74,6 +74,7 @@ Gem::Specification.new do |gem|
|
|
|
74
74
|
gem.add_runtime_dependency "mutex_m", "~> 0.3" # until as-notifications -> webmachine requires it
|
|
75
75
|
gem.add_runtime_dependency "csv", "~> 3.0" # lib/pact_broker/api/decorators/relationships_csv_decorator.rb
|
|
76
76
|
# dropped in ruby 3.5 stdlib
|
|
77
|
-
gem.add_runtime_dependency "ostruct", "~> 0.5"
|
|
77
|
+
gem.add_runtime_dependency "ostruct", "~> 0.5"
|
|
78
|
+
gem.add_runtime_dependency "json_schemer", "~> 2.5"
|
|
78
79
|
gem.add_development_dependency "pstore", "~> 0.1" # until webmachine requires it
|
|
79
80
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pact_broker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.120.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bethany Skurrie
|
|
@@ -15,16 +15,16 @@ dependencies:
|
|
|
15
15
|
name: json
|
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
requirements:
|
|
18
|
-
- - "
|
|
18
|
+
- - ">="
|
|
19
19
|
- !ruby/object:Gem::Version
|
|
20
|
-
version:
|
|
20
|
+
version: 2.19.9
|
|
21
21
|
type: :runtime
|
|
22
22
|
prerelease: false
|
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
24
24
|
requirements:
|
|
25
|
-
- - "
|
|
25
|
+
- - ">="
|
|
26
26
|
- !ruby/object:Gem::Version
|
|
27
|
-
version:
|
|
27
|
+
version: 2.19.9
|
|
28
28
|
- !ruby/object:Gem::Dependency
|
|
29
29
|
name: psych
|
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -99,22 +99,16 @@ dependencies:
|
|
|
99
99
|
name: webmachine
|
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
|
101
101
|
requirements:
|
|
102
|
-
- - "
|
|
103
|
-
- !ruby/object:Gem::Version
|
|
104
|
-
version: 2.0.0.beta
|
|
105
|
-
- - "<"
|
|
102
|
+
- - "~>"
|
|
106
103
|
- !ruby/object:Gem::Version
|
|
107
|
-
version: '
|
|
104
|
+
version: '2.0'
|
|
108
105
|
type: :runtime
|
|
109
106
|
prerelease: false
|
|
110
107
|
version_requirements: !ruby/object:Gem::Requirement
|
|
111
108
|
requirements:
|
|
112
|
-
- - "
|
|
113
|
-
- !ruby/object:Gem::Version
|
|
114
|
-
version: 2.0.0.beta
|
|
115
|
-
- - "<"
|
|
109
|
+
- - "~>"
|
|
116
110
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: '
|
|
111
|
+
version: '2.0'
|
|
118
112
|
- !ruby/object:Gem::Dependency
|
|
119
113
|
name: semver2
|
|
120
114
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -147,9 +141,6 @@ dependencies:
|
|
|
147
141
|
name: redcarpet
|
|
148
142
|
requirement: !ruby/object:Gem::Requirement
|
|
149
143
|
requirements:
|
|
150
|
-
- - ">="
|
|
151
|
-
- !ruby/object:Gem::Version
|
|
152
|
-
version: 3.5.1
|
|
153
144
|
- - "~>"
|
|
154
145
|
- !ruby/object:Gem::Version
|
|
155
146
|
version: '3.5'
|
|
@@ -157,9 +148,6 @@ dependencies:
|
|
|
157
148
|
prerelease: false
|
|
158
149
|
version_requirements: !ruby/object:Gem::Requirement
|
|
159
150
|
requirements:
|
|
160
|
-
- - ">="
|
|
161
|
-
- !ruby/object:Gem::Version
|
|
162
|
-
version: 3.5.1
|
|
163
151
|
- - "~>"
|
|
164
152
|
- !ruby/object:Gem::Version
|
|
165
153
|
version: '3.5'
|
|
@@ -167,9 +155,6 @@ dependencies:
|
|
|
167
155
|
name: pact-support
|
|
168
156
|
requirement: !ruby/object:Gem::Requirement
|
|
169
157
|
requirements:
|
|
170
|
-
- - ">="
|
|
171
|
-
- !ruby/object:Gem::Version
|
|
172
|
-
version: 1.21.2
|
|
173
158
|
- - "~>"
|
|
174
159
|
- !ruby/object:Gem::Version
|
|
175
160
|
version: '1.21'
|
|
@@ -177,9 +162,6 @@ dependencies:
|
|
|
177
162
|
prerelease: false
|
|
178
163
|
version_requirements: !ruby/object:Gem::Requirement
|
|
179
164
|
requirements:
|
|
180
|
-
- - ">="
|
|
181
|
-
- !ruby/object:Gem::Version
|
|
182
|
-
version: 1.21.2
|
|
183
165
|
- - "~>"
|
|
184
166
|
- !ruby/object:Gem::Version
|
|
185
167
|
version: '1.21'
|
|
@@ -365,6 +347,20 @@ dependencies:
|
|
|
365
347
|
- - "~>"
|
|
366
348
|
- !ruby/object:Gem::Version
|
|
367
349
|
version: '0.5'
|
|
350
|
+
- !ruby/object:Gem::Dependency
|
|
351
|
+
name: json_schemer
|
|
352
|
+
requirement: !ruby/object:Gem::Requirement
|
|
353
|
+
requirements:
|
|
354
|
+
- - "~>"
|
|
355
|
+
- !ruby/object:Gem::Version
|
|
356
|
+
version: '2.5'
|
|
357
|
+
type: :runtime
|
|
358
|
+
prerelease: false
|
|
359
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
360
|
+
requirements:
|
|
361
|
+
- - "~>"
|
|
362
|
+
- !ruby/object:Gem::Version
|
|
363
|
+
version: '2.5'
|
|
368
364
|
- !ruby/object:Gem::Dependency
|
|
369
365
|
name: pstore
|
|
370
366
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -579,8 +575,13 @@ files:
|
|
|
579
575
|
- db/migrations/20231002_add_version_id_index_to_released_version.rb
|
|
580
576
|
- db/migrations/20231003_add_version_id_index_to_deployed_version.rb
|
|
581
577
|
- db/migrations/20240112_add_client_language_verified_by_to_verification.rb
|
|
578
|
+
- db/migrations/20251106_add_branch_versions_version_id_branch_name_index.rb
|
|
582
579
|
- db/migrations/20251202_add_has_messages_column_to_pact_versions.rb
|
|
583
580
|
- db/migrations/20251202_populate_has_messages_in_pact_versions.rb
|
|
581
|
+
- db/migrations/20260119_add_index_on_consumer_id_provider_id_to_pact_versions.rb
|
|
582
|
+
- db/migrations/20260123_drop_branch_versions_branch_name_index.rb
|
|
583
|
+
- db/migrations/20260210_add_index_on_pact_version_id_to_latest_pact_publication.rb
|
|
584
|
+
- db/migrations/20260217_add_wip_query_optimization_indexes.rb
|
|
584
585
|
- db/migrations/migration_helper.rb
|
|
585
586
|
- docs/CONFIGURATION.md
|
|
586
587
|
- docs/api/PACTICIPANTS.md
|
|
@@ -831,6 +832,7 @@ files:
|
|
|
831
832
|
- lib/pact_broker/db.rb
|
|
832
833
|
- lib/pact_broker/db/advisory_lock.rb
|
|
833
834
|
- lib/pact_broker/db/clean.rb
|
|
835
|
+
- lib/pact_broker/db/clean/branch_selector.rb
|
|
834
836
|
- lib/pact_broker/db/clean/selector.rb
|
|
835
837
|
- lib/pact_broker/db/clean_incremental.rb
|
|
836
838
|
- lib/pact_broker/db/data_migrations/create_branches.rb
|
|
@@ -1290,7 +1292,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1290
1292
|
- !ruby/object:Gem::Version
|
|
1291
1293
|
version: '0'
|
|
1292
1294
|
requirements: []
|
|
1293
|
-
rubygems_version: 4.0.
|
|
1295
|
+
rubygems_version: 4.0.16
|
|
1294
1296
|
specification_version: 4
|
|
1295
1297
|
summary: See description
|
|
1296
1298
|
test_files: []
|