pact_broker-client 1.75.1 → 1.75.3

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: 25fa6bc80f249b0fab107d35df31217cb95384936f35d3fcbf91edb81a1e14b2
4
- data.tar.gz: 62f6989736a53ce0088b6e13304d4ed5812704a8bba9ead8b6eb03f02e1863a8
3
+ metadata.gz: 2d85daa10328b3c815584473aca64d42fb2f2139098782e39249956a14239f9f
4
+ data.tar.gz: 92e4204165393e3c6de26a8dad87bd199e199b1bc0bcf1f6323cde11d8b2e523
5
5
  SHA512:
6
- metadata.gz: a01cea196f9a7b6825424777cdafbf03d3365ec022f8659f9253b44dc13867876a2b2072ffa6b2690144abfda24ab5523cfbf103b64b7096c22f2f6cadfd6620
7
- data.tar.gz: cf2a61065048ef7800502414d8b9f58f79c062857d56151c89d6c8b4cd444b84d345c77bcf77eb2ea9ca278872425f9fa2a1f4c9cddcd33eccd48257798a822a
6
+ metadata.gz: be3514dcba91fb1153e227be1bc2f0e419ec40799b1a81426db87a28c2c7610634c84f312c3c58142088ef098c0059ceaa9d23f19dae698618b8c41358e30643
7
+ data.tar.gz: 18d34ff71ee33a0d16b72726ad9d2e95a778d3b997447b122665f50a2afef725c7f42d47c6bf39e6bafec481a8abd762b1621aa5fd36b2f581f1cd014b78f915
@@ -0,0 +1,24 @@
1
+ name: Delete application branch in Pactflow
2
+
3
+ on:
4
+ delete:
5
+ branches:
6
+ - "*"
7
+
8
+ jobs:
9
+ delete-branch-in-pactflow:
10
+ name: delete
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ # Requires Ruby to encode the URL path correctly - could use any other scripting language here
16
+ - uses: ruby/setup-ruby@v1
17
+
18
+ - name: Delete branch in Pactflow
19
+ run: script/ci/delete-branch-in-pactflow.sh
20
+ env:
21
+ GIT_BRANCH: ${{ github.event.ref }}
22
+ PACTICIPANT: "Pact Broker Client"
23
+ PACT_BROKER_TOKEN: ${{ secrets.PACT_BROKER_TOKEN_PACT_FOUNDATION }}
24
+ PACT_BROKER_BASE_URL: "https://pact-foundation.pactflow.io"
@@ -61,7 +61,7 @@ jobs:
61
61
  runs-on: ubuntu-latest
62
62
  steps:
63
63
  - name: Notify ${{ matrix.repository }} of gem release
64
- uses: peter-evans/repository-dispatch@v2
64
+ uses: peter-evans/repository-dispatch@v3
65
65
  with:
66
66
  token: ${{ secrets.GHTOKENFORPACTCLIRELEASE }}
67
67
  repository: ${{ matrix.repository }}
@@ -11,7 +11,7 @@ jobs:
11
11
  strategy:
12
12
  fail-fast: false
13
13
  matrix:
14
- ruby_version: ["2.7", "3.0", "3.1", "3.2"]
14
+ ruby_version: ["2.7", "3.0", "3.1", "3.2", "3.3"]
15
15
  os: ["ubuntu-latest","windows-latest","macos-latest"]
16
16
  steps:
17
17
  - uses: actions/checkout@v4
@@ -34,13 +34,12 @@ jobs:
34
34
  ruby-version: "3.2"
35
35
  - run: "bundle install"
36
36
  # Publish to old and new account until we can disable the old account
37
- - run: |
37
+ - name: Generate and publish pacts
38
+ run: |
38
39
  rm -rf spec/pacts/*
39
40
  bundle exec rspec spec/service_providers/
40
- VERBOSE=true bundle exec rake pact:publish:pactflow_oss
41
- VERBOSE=true bundle exec rake pact:publish:pactflow_pact_foundation
41
+ bundle exec rake pact:publish:pactflow_pact_foundation
42
42
  env:
43
- PACT_BROKER_TOKEN: ${{ secrets.PACTFLOW_PACT_OSS_TOKEN }}
44
43
  PACT_BROKER_TOKEN_PACT_FOUNDATION: ${{ secrets.PACT_BROKER_TOKEN_PACT_FOUNDATION }}
45
44
  PACT_BROKER_FEATURES: ${{ matrix.feature }}
46
45
  TEST_FEATURE: ${{ matrix.feature }}
@@ -16,7 +16,7 @@ jobs:
16
16
  runs-on: ubuntu-latest
17
17
  steps:
18
18
  - name: Trigger docs.pact.io update workflow
19
- uses: peter-evans/repository-dispatch@v2
19
+ uses: peter-evans/repository-dispatch@v3
20
20
  with:
21
21
  token: ${{ secrets.GHTOKENFORTRIGGERINGPACTDOCSUPDATE }}
22
22
  repository: pact-foundation/docs.pact.io
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ <a name="v1.75.3"></a>
2
+ ### v1.75.3 (2024-06-17)
3
+
4
+ <a name="v1.75.2"></a>
5
+ ### v1.75.2 (2024-05-13)
6
+
7
+ #### Bug Fixes
8
+
9
+ * explicitly require openstruct ([fdb70cf](/../../commit/fdb70cf))
10
+
1
11
  <a name="v1.75.1"></a>
2
12
  ### v1.75.1 (2023-11-23)
3
13
 
@@ -1,6 +1,7 @@
1
1
  require 'pact_broker/client/hal'
2
2
  require 'pact_broker/client/command_result'
3
3
  require 'pact_broker/client/hal_client_methods'
4
+ require 'ostruct'
4
5
 
5
6
  module PactBroker
6
7
  module Client
@@ -4,6 +4,7 @@ require 'base64'
4
4
  require 'pact_broker/client/publish_pacts_the_old_way'
5
5
  require 'pact_broker/client/colorize_notices'
6
6
  require 'pact_broker/client/hash_refinements'
7
+ require 'ostruct'
7
8
 
8
9
  module PactBroker
9
10
  module Client
@@ -1,5 +1,5 @@
1
1
  module PactBroker
2
2
  module Client
3
- VERSION = '1.75.1'
3
+ VERSION = '1.75.3'
4
4
  end
5
5
  end
@@ -5,6 +5,7 @@ require 'json'
5
5
  require 'pact_broker/client/command_result'
6
6
  require "pact_broker/client/backports"
7
7
  require "pact_broker/client/hash_refinements"
8
+ require 'ostruct'
8
9
 
9
10
  module PactBroker
10
11
  module Client
@@ -2,6 +2,7 @@ require "base64"
2
2
  require "pact_broker/client/base_command"
3
3
  require "pact_broker/client/colorize_notices"
4
4
  require "pactflow/client/provider_contracts/publish_the_old_way"
5
+ require 'ostruct'
5
6
 
6
7
  module Pactflow
7
8
  module Client
@@ -2,6 +2,7 @@ require "pact_broker/client/base_command"
2
2
  require "pact_broker/client/versions/create"
3
3
  require 'pact_broker/client/colorize_notices'
4
4
  require "base64"
5
+ require 'ostruct'
5
6
 
6
7
  module Pactflow
7
8
  module Client
@@ -27,4 +27,5 @@ Gem::Specification.new do |gem|
27
27
  gem.add_runtime_dependency 'thor', '>= 0.20', '< 2.0'
28
28
  gem.add_runtime_dependency 'rake', '~> 13.0' #For FileList
29
29
  gem.add_runtime_dependency 'dig_rb', '~> 1.0'
30
+ gem.add_runtime_dependency 'base64', '~> 0.2'
30
31
  end
@@ -0,0 +1,22 @@
1
+ #!/bin/bash
2
+
3
+ set -Eeuo pipefail
4
+
5
+ echo "Deleting branch ${GIT_BRANCH} for ${PACTICIPANT} in Pactflow..."
6
+ ENCODED_GIT_BRANCH=$(echo "$GIT_BRANCH" | ruby -e "require 'erb'; puts ERB::Util.url_encode(ARGF.read.chomp)")
7
+ ENCODED_PACTICIPANT=$(echo "$PACTICIPANT" | ruby -e "require 'erb'; puts ERB::Util.url_encode(ARGF.read.chomp)")
8
+ BRANCH_URL="${PACT_BROKER_BASE_URL}/pacticipants/${ENCODED_PACTICIPANT}/branches/${ENCODED_GIT_BRANCH}"
9
+
10
+ output_file=$(mktemp)
11
+
12
+ status=$(curl -v -X DELETE "${BRANCH_URL}" -H "Authorization: Bearer ${PACT_BROKER_TOKEN}" 2>&1 | tee "${output_file}" | awk '/^< HTTP/{print $3}')
13
+
14
+ if [ "$status" = "404" ]; then
15
+ echo "Branch ${GIT_BRANCH} for ${PACTICIPANT} does not exist in Pactflow"
16
+ elif [ $status -ge 400 ]; then
17
+ cat "${output_file}"
18
+ echo "Error deleting branch in Pactflow"
19
+ exit 1
20
+ else
21
+ echo "Deleted branch ${GIT_BRANCH} for ${PACTICIPANT} in Pactflow"
22
+ fi
@@ -1,4 +1,5 @@
1
1
  require "pact_broker/client/cli/broker"
2
+ require 'ostruct'
2
3
 
3
4
  module PactBroker
4
5
  module Client
@@ -1,6 +1,7 @@
1
1
  require 'pact_broker/client/cli/broker'
2
2
  require 'pact_broker/client/cli/version_selector_options_parser'
3
3
  require 'pact_broker/client/can_i_deploy'
4
+ require 'ostruct'
4
5
 
5
6
  module PactBroker
6
7
  module Client
@@ -1,6 +1,7 @@
1
1
  require 'pact_broker/client/cli/broker'
2
2
  require 'pact_broker/client/publish_pacts'
3
3
  require 'pact_broker/client/git'
4
+ require 'ostruct'
4
5
 
5
6
  module PactBroker::Client::CLI
6
7
  describe Broker do
@@ -1,5 +1,6 @@
1
1
  require 'pact_broker/client/cli/broker'
2
2
  require 'pact_broker/client/webhooks/create'
3
+ require 'ostruct'
3
4
 
4
5
  module PactBroker
5
6
  module Client
@@ -1,4 +1,5 @@
1
1
  require "pactflow/client/provider_contracts/publish"
2
+ require 'ostruct'
2
3
 
3
4
  module Pactflow
4
5
  module Client
@@ -36,7 +36,7 @@ if __FILE__ == $0
36
36
 
37
37
  opts = webrick_opts(4444)
38
38
 
39
- Rack::Handler::WEBrick.run(app, **opts) do |server|
39
+ Rackup::Handler::WEBrick.run(app, **opts) do |server|
40
40
  @server = server
41
41
  end
42
42
  end
data/tasks/pact.rake CHANGED
@@ -18,26 +18,6 @@ PactBroker::Client::PublicationTask.new(:remote) do | task |
18
18
  task.pact_broker_basic_auth = { username: ENV.fetch("PACT_BROKER_USERNAME"), password: ENV.fetch("PACT_BROKER_PASSWORD") }
19
19
  end
20
20
 
21
- PactBroker::Client::PublicationTask.new(:pactflow_oss) do | task |
22
- version = ENV.fetch("GITHUB_SHA")
23
- branch = ENV.fetch("GITHUB_REF").gsub("refs/heads/", "")
24
- feature = ENV.fetch("TEST_FEATURE", "")
25
- tag = branch
26
-
27
- if feature != ''
28
- version = "#{version}+#{feature}"
29
- tag = "#{tag}+#{feature}"
30
- end
31
-
32
- require "pact_broker/client/version"
33
- task.auto_detect_version_properties = false
34
- task.tags = [tag]
35
- task.branch = nil
36
- task.consumer_version = version
37
- task.pact_broker_base_url = "https://pact-oss.pactflow.io"
38
- task.pact_broker_token = ENV['PACT_BROKER_TOKEN']
39
- task.build_url = PactBroker::Client::Git.build_url
40
- end
41
21
 
42
22
  PactBroker::Client::PublicationTask.new(:pactflow_pact_foundation) do | task |
43
23
  version = ENV.fetch("GITHUB_SHA")
@@ -53,7 +33,7 @@ PactBroker::Client::PublicationTask.new(:pactflow_pact_foundation) do | task |
53
33
  require "pact_broker/client/version"
54
34
  task.auto_detect_version_properties = false
55
35
  task.tags = [tag]
56
- task.branch = nil
36
+ task.branch = branch
57
37
  task.consumer_version = version
58
38
  task.pact_broker_base_url = "https://pact-foundation.pactflow.io"
59
39
  task.pact_broker_token = ENV["PACT_BROKER_TOKEN_PACT_FOUNDATION"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact_broker-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.75.1
4
+ version: 1.75.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Beth Skurrie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-07 00:00:00.000000000 Z
11
+ date: 2024-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -106,6 +106,20 @@ dependencies:
106
106
  - - "~>"
107
107
  - !ruby/object:Gem::Version
108
108
  version: '1.0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: base64
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: '0.2'
116
+ type: :runtime
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '0.2'
109
123
  description: Client for the Pact Broker. Publish, retrieve and query pacts and verification
110
124
  results. Manage webhooks and environments.
111
125
  email:
@@ -117,6 +131,7 @@ extensions: []
117
131
  extra_rdoc_files: []
118
132
  files:
119
133
  - ".github/dependabot.yml"
134
+ - ".github/workflows/delete_branch_in_pactflow.yml"
120
135
  - ".github/workflows/release_gem.yml"
121
136
  - ".github/workflows/smartbear-issue-label-added.yml"
122
137
  - ".github/workflows/test.yml"
@@ -244,6 +259,7 @@ files:
244
259
  - pact-broker-client.gemspec
245
260
  - script/approve-all.sh
246
261
  - script/can-i-deploy.sh
262
+ - script/ci/delete-branch-in-pactflow.sh
247
263
  - script/ci/record-release.sh
248
264
  - script/create-pacticipant.sh
249
265
  - script/foo-bar.json
@@ -381,7 +397,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
381
397
  - !ruby/object:Gem::Version
382
398
  version: '0'
383
399
  requirements: []
384
- rubygems_version: 3.4.22
400
+ rubygems_version: 3.5.13
385
401
  signing_key:
386
402
  specification_version: 4
387
403
  summary: See description