pact_broker-client 1.75.1 → 1.75.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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