pact_broker-client 1.54.0 → 1.55.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/pact_broker/client/git.rb +15 -4
- data/lib/pact_broker/client/version.rb +1 -1
- data/spec/lib/pact_broker/client/git_spec.rb +46 -0
- data/tasks/pact.rake +3 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b5e2bdbb0df7479cecc969634bc78e79fb64b799410bab2b1b45e33c6db635e
|
4
|
+
data.tar.gz: df5775b4c3c5d0a52cf0777cdbcffeb2b51ecafed78d40d092d4961620b21001
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89df36d9fe800cd97e0500d6d89305d3596e5f17d34c3ea4e6286a88c4257db39427c938792d784b3ed8450011d53592fb5bd436785d87cc73edefeca8722067
|
7
|
+
data.tar.gz: 617675fd4f1de88ef167c9fd5ef3b82d190d5f63fd22f1fa1e19fb8af437ad268e6406c7bd75be56f1b5c65a515b530ae878f0ba44c912d66973cb5af7193405
|
data/CHANGELOG.md
CHANGED
@@ -25,9 +25,8 @@ module PactBroker
|
|
25
25
|
using PactBroker::Client::HashRefinements
|
26
26
|
|
27
27
|
COMMAND = 'git rev-parse --abbrev-ref HEAD'.freeze
|
28
|
-
BRANCH_ENV_VAR_NAMES = %w{BUILDKITE_BRANCH CIRCLE_BRANCH TRAVIS_BRANCH GIT_BRANCH GIT_LOCAL_BRANCH APPVEYOR_REPO_BRANCH CI_COMMIT_REF_NAME BITBUCKET_BRANCH}.freeze
|
29
|
-
COMMIT_ENV_VAR_NAMES = %w{BUILDKITE_COMMIT CIRCLE_SHA1 TRAVIS_COMMIT GIT_COMMIT APPVEYOR_REPO_COMMIT CI_COMMIT_ID BITBUCKET_COMMIT}
|
30
|
-
|
28
|
+
BRANCH_ENV_VAR_NAMES = %w{GITHUB_REF BUILDKITE_BRANCH CIRCLE_BRANCH TRAVIS_BRANCH GIT_BRANCH GIT_LOCAL_BRANCH APPVEYOR_REPO_BRANCH CI_COMMIT_REF_NAME BITBUCKET_BRANCH}.freeze
|
29
|
+
COMMIT_ENV_VAR_NAMES = %w{GITHUB_SHA BUILDKITE_COMMIT CIRCLE_SHA1 TRAVIS_COMMIT GIT_COMMIT APPVEYOR_REPO_COMMIT CI_COMMIT_ID BITBUCKET_COMMIT}
|
31
30
|
BUILD_URL_ENV_VAR_NAMES = %w{BUILDKITE_BUILD_URL CIRCLE_BUILD_URL TRAVIS_BUILD_WEB_URL BUILD_URL }
|
32
31
|
|
33
32
|
def self.commit
|
@@ -38,6 +37,10 @@ module PactBroker
|
|
38
37
|
find_branch_from_known_env_vars || find_branch_from_env_var_ending_with_branch || branch_from_git_command(options[:raise_error])
|
39
38
|
end
|
40
39
|
|
40
|
+
def self.build_url
|
41
|
+
github_build_url || BUILD_URL_ENV_VAR_NAMES.collect{ | name | value_from_env_var(name) }.compact.first
|
42
|
+
end
|
43
|
+
|
41
44
|
# private
|
42
45
|
|
43
46
|
def self.find_commit_from_env_vars
|
@@ -45,7 +48,8 @@ module PactBroker
|
|
45
48
|
end
|
46
49
|
|
47
50
|
def self.find_branch_from_known_env_vars
|
48
|
-
BRANCH_ENV_VAR_NAMES.collect { |env_var_name| value_from_env_var(env_var_name) }.compact.first
|
51
|
+
val = BRANCH_ENV_VAR_NAMES.collect { |env_var_name| value_from_env_var(env_var_name) }.compact.first
|
52
|
+
val.gsub(%r{^refs/heads/}, "") if val
|
49
53
|
end
|
50
54
|
|
51
55
|
def self.find_branch_from_env_var_ending_with_branch
|
@@ -104,6 +108,13 @@ module PactBroker
|
|
104
108
|
return []
|
105
109
|
end
|
106
110
|
end
|
111
|
+
|
112
|
+
def self.github_build_url
|
113
|
+
parts = %w{GITHUB_SERVER_URL GITHUB_REPOSITORY GITHUB_RUN_ID}.collect{ | name | value_from_env_var(name) }
|
114
|
+
if parts.all?
|
115
|
+
[parts[0], parts[1], "actions", "runs", parts[2]].join("/")
|
116
|
+
end
|
117
|
+
end
|
107
118
|
end
|
108
119
|
end
|
109
120
|
end
|
@@ -35,6 +35,16 @@ module PactBroker
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
+
context "when the branch starts with refs/heads/" do
|
39
|
+
before do
|
40
|
+
allow(ENV).to receive(:[]).with("GITHUB_REF").and_return("refs/heads/feature-x")
|
41
|
+
end
|
42
|
+
|
43
|
+
it "trims off the refs/heads/" do
|
44
|
+
expect(subject).to eq "feature-x"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
38
48
|
context "when there is one environment variable ending with _BRANCH" do
|
39
49
|
before do
|
40
50
|
allow(ENV).to receive(:keys).and_return(%w{FOO_BRANCH BAR_BRANCH BLAH})
|
@@ -108,6 +118,42 @@ module PactBroker
|
|
108
118
|
include_examples "when raise_error is false"
|
109
119
|
end
|
110
120
|
end
|
121
|
+
|
122
|
+
describe ".build_url" do
|
123
|
+
before do
|
124
|
+
allow(ENV).to receive(:[]).and_call_original
|
125
|
+
end
|
126
|
+
|
127
|
+
subject { Git.build_url }
|
128
|
+
|
129
|
+
context "when nothing is set" do
|
130
|
+
before do
|
131
|
+
allow(ENV).to receive(:[]).and_return(nil)
|
132
|
+
end
|
133
|
+
|
134
|
+
it { is_expected.to eq nil }
|
135
|
+
end
|
136
|
+
|
137
|
+
context "when BUILDKITE_BUILD_URL is set" do
|
138
|
+
before do
|
139
|
+
allow(ENV).to receive(:[]).and_return(nil)
|
140
|
+
allow(ENV).to receive(:[]).with("BUILDKITE_BUILD_URL").and_return("http://build")
|
141
|
+
end
|
142
|
+
|
143
|
+
it { is_expected.to eq "http://build" }
|
144
|
+
end
|
145
|
+
|
146
|
+
context "when the Github Actions env vars are set" do
|
147
|
+
before do
|
148
|
+
allow(ENV).to receive(:[]).and_return(nil)
|
149
|
+
allow(ENV).to receive(:[]).with("GITHUB_SERVER_URL").and_return("https://github.com")
|
150
|
+
allow(ENV).to receive(:[]).with("GITHUB_REPOSITORY").and_return("org/repo")
|
151
|
+
allow(ENV).to receive(:[]).with("GITHUB_RUN_ID").and_return("1")
|
152
|
+
end
|
153
|
+
|
154
|
+
it { is_expected.to eq "https://github.com/org/repo/actions/runs/1" }
|
155
|
+
end
|
156
|
+
end
|
111
157
|
end
|
112
158
|
end
|
113
159
|
end
|
data/tasks/pact.rake
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
require
|
1
|
+
require "pact_broker/client/tasks"
|
2
|
+
require "pact_broker/client/git"
|
2
3
|
|
3
4
|
PactBroker::Client::PublicationTask.new(:localhost) do | task |
|
4
5
|
require 'pact_broker/client/version'
|
@@ -35,4 +36,5 @@ PactBroker::Client::PublicationTask.new(:pactflow) do | task |
|
|
35
36
|
task.consumer_version = version
|
36
37
|
task.pact_broker_base_url = "https://pact-oss.pactflow.io"
|
37
38
|
task.pact_broker_token = ENV['PACT_BROKER_TOKEN']
|
39
|
+
task.build_url = PactBroker::Client::Git.build_url
|
38
40
|
end
|
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.
|
4
|
+
version: 1.55.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Beth Skurrie
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
11
|
+
date: 2021-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|