Skip to content

Commit 6bdd15e

Browse files
authored
Merge branch 'master' into fix-expected-body-when-using-generators
2 parents 22ade27 + 789596f commit 6bdd15e

File tree

87 files changed

+730
-909
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+730
-909
lines changed

.github/workflows/release_gem.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ jobs:
1010
test:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v2
13+
- uses: actions/checkout@v4
1414
- uses: ruby/setup-ruby@v1
1515
with:
16-
ruby-version: '2.6'
16+
ruby-version: '3.2'
1717
- run: |
18-
gem install bundler -v 2.1
18+
gem install bundler -v 2.4
1919
bundle install
2020
- name: Test
2121
run: bundle exec rake
@@ -28,11 +28,11 @@ jobs:
2828
version: ${{ steps.release-gem.outputs.version }}
2929
increment: ${{ steps.release-gem.outputs.increment }}
3030
steps:
31-
- uses: actions/checkout@v2
31+
- uses: actions/checkout@v4
3232
with:
3333
fetch-depth: 0
3434
- id: release-gem
35-
uses: pact-foundation/release-gem@v0.0.13
35+
uses: pact-foundation/release-gem@v1
3636
env:
3737
GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_API_KEY }}'
3838
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
@@ -42,11 +42,11 @@ jobs:
4242
needs: release
4343
strategy:
4444
matrix:
45-
repository: [pact-foundation/pact-ruby-cli, pact-foundation/pact-ruby-standalone, pact-foundation/pact_broker-client]
45+
repository: [pact-foundation/pact-ruby-cli, pact-foundation/pact-ruby-standalone]
4646
runs-on: ubuntu-latest
4747
steps:
4848
- name: Notify ${{ matrix.repository }} of gem release
49-
uses: peter-evans/repository-dispatch@v1
49+
uses: peter-evans/repository-dispatch@v3
5050
with:
5151
token: ${{ secrets.GHTOKENFORPACTCLIRELEASE }}
5252
repository: ${{ matrix.repository }}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: SmartBear Supported Issue Label Added
2+
3+
on:
4+
issues:
5+
types:
6+
- labeled
7+
8+
jobs:
9+
call-workflow:
10+
uses: pact-foundation/.github/.github/workflows/smartbear-issue-label-added.yml@master
11+
secrets: inherit

.github/workflows/test.yml

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,65 @@
11
name: Test
22

3-
on: [push, pull_request]
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
workflow_dispatch:
411

512
jobs:
613
test:
7-
runs-on: "ubuntu-latest"
14+
runs-on: ${{ matrix.os }}
815
strategy:
916
fail-fast: false
1017
matrix:
11-
ruby_version: ["2.4", "2.7", "3.0"]
18+
ruby_version: ["2.7", "3.0", "3.1", "3.2", "3.3"]
19+
os: ["ubuntu-latest","windows-latest","macos-latest"]
1220
steps:
13-
- uses: actions/checkout@v2
21+
- uses: actions/checkout@v4
1422
- uses: ruby/setup-ruby@v1
1523
with:
1624
ruby-version: ${{ matrix.ruby_version }}
1725
bundler-cache: true
1826
- run: "bundle exec rake"
27+
- run: "bundle install && bundle exec rake spec"
28+
if: matrix.ruby_version > '3.0'
29+
working-directory: example/zoo-app
30+
- run: "bundle install && bundle exec rake pact:verify"
31+
if: matrix.os != 'windows-latest' && matrix.ruby_version > '3.0'
32+
working-directory: example/animal-service
33+
test-with-rack-2:
34+
runs-on: ${{ matrix.os }}
35+
strategy:
36+
fail-fast: false
37+
matrix:
38+
ruby_version: ["3.2"]
39+
os: ["ubuntu-latest","windows-latest","macos-latest"]
40+
steps:
41+
- uses: actions/checkout@v4
42+
- uses: ruby/setup-ruby@v1
43+
with:
44+
ruby-version: ${{ matrix.ruby_version }}
45+
bundler-cache: true
46+
- run: "bundle exec appraisal install"
47+
- run: "bundle exec appraisal rack-2 rake"
1948
test-with-active-support:
20-
runs-on: "ubuntu-latest"
21-
env:
22-
BUNDLE_GEMFILE: active-support.gemfile
49+
runs-on: ${{ matrix.os }}
2350
strategy:
2451
fail-fast: false
2552
matrix:
26-
ruby_version: ["2.7", "3.0"]
53+
ruby_version: ["2.7", "3.0", "3.1", "3.2"]
54+
os: ["ubuntu-latest","windows-latest","macos-latest"]
55+
defaults:
56+
run:
57+
shell: bash
2758
steps:
28-
- uses: actions/checkout@v2
59+
- uses: actions/checkout@v4
2960
- uses: ruby/setup-ruby@v1
3061
with:
3162
ruby-version: ${{ matrix.ruby_version }}
3263
bundler-cache: true
33-
- run: "bundle exec rake spec_with_active_support"
64+
- run: "bundle exec appraisal install"
65+
- run: "bundle exec appraisal activesupport rake spec_with_active_support"

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,5 @@ Gemfile.lock
3232
gemfiles/*.gemfile.lock
3333
reports/pacts
3434
spec/examples.txt
35-
*bethtest*
35+
*bethtest*
36+
.DS_Store

Appraisals

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
appraise "rack-2" do
2+
gem "rack", "~> 2.0"
3+
4+
group :test do
5+
remove_gem "rackup"
6+
end
7+
end
8+
9+
appraise "activesupport" do
10+
gem "activesupport", "~> 5.1"
11+
end

CHANGELOG.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,84 @@
1+
<a name="v1.66.1"></a>
2+
### v1.66.1 (2025-01-20)
3+
4+
#### Bug Fixes
5+
6+
* HTTP_HOST headers for sinatra 4.x ([173bfb7](/../../commit/173bfb7))
7+
8+
<a name="v1.66.0"></a>
9+
### v1.66.0 (2024-11-29)
10+
11+
#### Features
12+
13+
* **generators**
14+
* Add more generators as per spec ([f55adf1](/../../commit/f55adf1))
15+
* Pass context and add ProviderState generator ([7a1cf3b](/../../commit/7a1cf3b))
16+
17+
#### Bug Fixes
18+
19+
* add HTTPS_HOST header if invoking a Sinatra app ([ed44189](/../../commit/ed44189))
20+
* example/animal-service/Gemfile to reduce vulnerabilities ([981ebee](/../../commit/981ebee))
21+
22+
<a name="v1.65.3"></a>
23+
### v1.65.3 (2024-10-23)
24+
25+
#### Bug Fixes
26+
27+
* **test**
28+
* explicitly require ostruct as non stdlib in ruby 3.5.x ([c9a8525](/../../commit/c9a8525))
29+
30+
<a name="v1.65.2"></a>
31+
### v1.65.2 (2024-09-26)
32+
33+
<a name="v1.65.1"></a>
34+
### v1.65.1 (2024-08-08)
35+
36+
#### Bug Fixes
37+
38+
* set color codes even on dumb terms (prev behaviour) ([4f01bc9](/../../commit/4f01bc9))
39+
* use .empty? in handling_no_pacts_found ([43bce74](/../../commit/43bce74))
40+
41+
<a name="v1.65.0"></a>
42+
### v1.65.0 (2024-08-06)
43+
44+
#### Features
45+
46+
* support app_version_branch in MessageProviderDSL ([1653128](/../../commit/1653128))
47+
* allow setting fail_if_no_pacts_found in honours_pacts_from_pact_broker ([f0f142e](/../../commit/f0f142e))
48+
49+
#### Bug Fixes
50+
51+
* handle case in no_pacts_found - undefined method empty? for nil ([0145d2d](/../../commit/0145d2d))
52+
* remove unused ConsumerContractBuilder contract_details accessor ([fb5488e](/../../commit/fb5488e))
53+
* example/animal-service/Gemfile to reduce vulnerabilities ([2bbefe2](/../../commit/2bbefe2))
54+
* example/zoo-app/Gemfile to reduce vulnerabilities ([e10f914](/../../commit/e10f914))
55+
* example/animal-service/Gemfile to reduce vulnerabilities ([7560918](/../../commit/7560918))
56+
* example/zoo-app/Gemfile to reduce vulnerabilities ([b4cbe85](/../../commit/b4cbe85))
57+
* example/animal-service/Gemfile to reduce vulnerabilities ([4028087](/../../commit/4028087))
58+
* ConsumerContractBuilder exposing incorrect field ([c805c3e](/../../commit/c805c3e))
59+
60+
* **test**
61+
* alias Rack/Rackup WEBrick handler in x509 test for backwards compat ([cc77498](/../../commit/cc77498))
62+
63+
<a name="v1.64.0"></a>
64+
### v1.64.0 (2023-11-09)
65+
66+
#### Features
67+
68+
* support x509 certs in HTTP Client (#298) ([3ed5680](/../../commit/3ed5680))
69+
70+
* **CI**
71+
* use setup-ruby's bundle installer and cache (#275) ([f5621b6](/../../commit/f5621b6))
72+
73+
#### Bug Fixes
74+
75+
* assert provider retrieved successfully before using link ([0af0691](/../../commit/0af0691))
76+
* update call to Rack::Builder.parse_file for rack 3 ([652047c](/../../commit/652047c))
77+
* example/zoo-app/Gemfile to reduce vulnerabilities ([b4ca8cb](/../../commit/b4ca8cb))
78+
* example/animal-service/Gemfile to reduce vulnerabilities ([7ad2073](/../../commit/7ad2073))
79+
* example/zoo-app/Gemfile to reduce vulnerabilities ([dd417fd](/../../commit/dd417fd))
80+
* example/animal-service/Gemfile to reduce vulnerabilities (#281) ([4ea07cd](/../../commit/4ea07cd))
81+
182
<a name="v1.63.0"></a>
283
### v1.63.0 (2022-09-28)
384

Gemfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ gemspec
1111
# Diff:
1212

1313
gem "rspec-mocks", "3.10.2"
14+
gem "appraisal", "~> 2.5"
1415

1516
if ENV['X_PACT_DEVELOPMENT']
1617
gem "pact-support", path: '../pact-support'
@@ -21,3 +22,9 @@ end
2122
group :local_development do
2223
gem "pry-byebug"
2324
end
25+
26+
group :test do
27+
gem 'faraday', '~>2.0', '<3.0'
28+
gem 'faraday-retry', '~>2.0'
29+
gem 'rackup', '~> 2.1'
30+
end

active-support.gemfile

Lines changed: 0 additions & 10 deletions
This file was deleted.

documentation/configuration.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
* [log_dir](#log_dir)
88
* [logger](#logger)
99
* [logger.level](#loggerlevel)
10+
* [SSL certificate](#SSL-Certificate)
1011

1112
#### Consumer only configuration options
1213
* [pact_dir](#pact_dir)
@@ -51,6 +52,14 @@ end
5152

5253
Default value: `Logger::DEBUG`
5354

55+
### SSL Certificate
56+
57+
To connect to a Pact Broker that uses custom SSL certificates, set the environment variable `$SSL_CERT_FILE` or `$SSL_CERT_DIR` to a path that contains the appropriate certificate.
58+
59+
#### Using x509 Certificates
60+
61+
To connect to a Pact Broker that uses x509 certificates for client authentication, set the environment variable `$X509_CLIENT_CERT_FILE` to the path of the client's x509 certificate and `$X509_CLIENT_KEY_FILE` to the path of the client's private key.
62+
5463
### diff_formatter
5564

5665
```ruby
@@ -184,7 +193,7 @@ To make modules available in the provider state set_up and tear_down blocks, inc
184193
Default value: `:recorded`
185194
Options: `:recorded`, `:random`
186195

187-
Replays interactions in a specific order. In combination with pactfile_write_order will allow you to have a consistent pact contract replayed in random order.
196+
Replays interactions in a specific order. In combination with pactfile_write_order will allow you to have a consistent pact contract replayed in random order.
188197

189198
```ruby
190199
Pact.configure do | config |

example/animal-service/Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ group :development, :test do
77
end
88

99
gem 'rake'
10-
gem 'rack', '~> 2.2', '>= 2.2.3.1'
10+
gem 'rack', '>= 3.1.12'
1111
gem 'sqlite3'
1212
gem 'sequel'
13-
gem 'sinatra', '>= 2.2.0'
13+
gem 'sinatra', '>= 4.1.0'

0 commit comments

Comments
 (0)