diffend 0.2.37 → 0.2.42
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.github/workflows/ci.yml +27 -3
- data/CHANGELOG.md +27 -1
- data/Gemfile.lock +4 -4
- data/Rakefile +40 -0
- data/lib/diffend/build_bundler_definition.rb +4 -4
- data/lib/diffend/bundle_secure.rb +1 -3
- data/lib/diffend/errors.rb +2 -0
- data/lib/diffend/execute.rb +6 -5
- data/lib/diffend/handle_errors/report.rb +4 -4
- data/lib/diffend/integration_repository.rb +92 -0
- data/lib/diffend/local_context.rb +1 -1
- data/lib/diffend/local_context/host.rb +0 -12
- data/lib/diffend/local_context/packages.rb +35 -31
- data/lib/diffend/local_context/platform.rb +1 -1
- data/lib/diffend/logger.rb +3 -3
- data/lib/diffend/monitor.rb +17 -5
- data/lib/diffend/plugin.rb +3 -0
- data/lib/diffend/repository.rb +109 -0
- data/lib/diffend/request.rb +0 -1
- data/lib/diffend/request_object.rb +1 -1
- data/lib/diffend/request_verdict.rb +9 -9
- data/lib/diffend/shell.rb +44 -0
- data/lib/diffend/track.rb +4 -4
- data/lib/diffend/version.rb +1 -1
- data/repositories/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock/Gemfile +6 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock/Gemfile.lock +22 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_added_gem/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_added_gem/Gemfile +6 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_added_gem/Gemfile.lock +16 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_changed_gem_version/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_changed_gem_version/Gemfile +6 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_changed_gem_version/Gemfile.lock +18 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_changed_gem_version/README.md +1 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_locked_gem_version/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_locked_gem_version/Gemfile +6 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_locked_gem_version/Gemfile.lock +19 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_removed_gem/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_removed_gem/Gemfile +5 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_removed_gem/Gemfile.lock +43 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_platforms/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_platforms/.ruby-version +1 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_platforms/Gemfile +10 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_platforms/Gemfile.lock +32 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_platforms/gem-with-two-platforms.gemspec +16 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_primary_sources/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_primary_sources/Gemfile +6 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_primary_sources/Gemfile.lock +17 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_sources/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_sources/Gemfile +6 -0
- data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_two_sources/Gemfile.lock +19 -0
- data/repositories/bundler_2_1_4/install_without_gemfile_lock/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/install_without_gemfile_lock/Gemfile +5 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock/Gemfile +5 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock/Gemfile.lock +16 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock/README.md +1 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_added_gem/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_added_gem/Gemfile +6 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_added_gem/Gemfile.lock +16 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_added_gem/README.md +1 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_removed_gem/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_removed_gem/Gemfile +5 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_removed_gem/Gemfile.lock +43 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_removed_gem/README.md +1 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_two_primary_sources/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_two_primary_sources/Gemfile +6 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_two_primary_sources/Gemfile.lock +17 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_two_primary_sources/README.md +1 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_two_sources/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_two_sources/Gemfile +6 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_two_sources/Gemfile.lock +44 -0
- data/repositories/bundler_2_1_4/update_with_gemfile_lock_with_two_sources/README.md +1 -0
- data/repositories/bundler_2_1_4/update_without_gemfile_lock/.diffend.yml +3 -0
- data/repositories/bundler_2_1_4/update_without_gemfile_lock/Gemfile +5 -0
- data/repositories/bundler_2_1_4/update_without_gemfile_lock/README.md +1 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock/Gemfile +6 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock/Gemfile.lock +21 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock/README.md +1 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_added_gem/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_added_gem/Gemfile +6 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_added_gem/Gemfile.lock +16 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_added_gem/README.md +1 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_changed_gem_version/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_changed_gem_version/Gemfile +6 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_changed_gem_version/Gemfile.lock +18 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_changed_gem_version/README.md +1 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_locked_gem_version/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_locked_gem_version/Gemfile +6 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_locked_gem_version/Gemfile.lock +18 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_locked_gem_version/README.md +1 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_removed_gem/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_removed_gem/Gemfile +5 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_removed_gem/Gemfile.lock +41 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_removed_gem/README.md +1 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_platforms/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_platforms/Gemfile +10 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_platforms/Gemfile.lock +30 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_platforms/README.md +1 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_platforms/gem-with-two-platforms.gemspec +16 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_primary_sources/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_primary_sources/Gemfile +6 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_primary_sources/Gemfile.lock +17 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_primary_sources/README.md +1 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_sources/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_sources/Gemfile +6 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_sources/Gemfile.lock +19 -0
- data/repositories/bundler_2_2_7/install_with_gemfile_lock_with_two_sources/README.md +1 -0
- data/repositories/bundler_2_2_7/install_without_gemfile_lock/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/install_without_gemfile_lock/Gemfile +5 -0
- data/repositories/bundler_2_2_7/install_without_gemfile_lock/README.md +1 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock/Gemfile +5 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock/Gemfile.lock +16 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock/README.md +1 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_added_gem/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_added_gem/Gemfile +6 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_added_gem/Gemfile.lock +16 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_added_gem/README.md +1 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_changed_gem_version/Gemfile +6 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_changed_gem_version/Gemfile.lock +18 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_changed_gem_version/README.md +1 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_locked_gem_version/Gemfile +6 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_locked_gem_version/Gemfile.lock +18 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_locked_gem_version/README.md +1 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_removed_gem/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_removed_gem/Gemfile +5 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_removed_gem/Gemfile.lock +41 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_two_primary_sources/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_two_primary_sources/Gemfile +6 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_two_primary_sources/Gemfile.lock +17 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_two_primary_sources/README.md +1 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_two_sources/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_two_sources/Gemfile +6 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_two_sources/Gemfile.lock +42 -0
- data/repositories/bundler_2_2_7/update_with_gemfile_lock_with_two_sources/README.md +1 -0
- data/repositories/bundler_2_2_7/update_without_gemfile_lock/.diffend.yml +3 -0
- data/repositories/bundler_2_2_7/update_without_gemfile_lock/Gemfile +5 -0
- data/repositories/diffend.json +9 -0
- metadata +123 -2
- metadata.gz.sig +0 -0
data/lib/diffend/logger.rb
CHANGED
@@ -55,11 +55,11 @@ module Diffend
|
|
55
55
|
|
56
56
|
case severity
|
57
57
|
when INFO
|
58
|
-
Bundler.ui.confirm(message)
|
58
|
+
::Bundler.ui.confirm(message)
|
59
59
|
when WARN
|
60
|
-
Bundler.ui.warn(message)
|
60
|
+
::Bundler.ui.warn(message)
|
61
61
|
when ERROR, FATAL
|
62
|
-
Bundler.ui.error(message)
|
62
|
+
::Bundler.ui.error(message)
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
data/lib/diffend/monitor.rb
CHANGED
@@ -26,9 +26,22 @@
|
|
26
26
|
track
|
27
27
|
].each { |file| require "diffend/#{file}" }
|
28
28
|
|
29
|
+
# Calculate exponential backoff
|
30
|
+
#
|
31
|
+
# @param retry_count [Integer]
|
32
|
+
#
|
33
|
+
# @return [Float] backoff value
|
34
|
+
def exponential_backoff(retry_count)
|
35
|
+
(0.25 * 1.5**retry_count.to_f).round(2)
|
36
|
+
end
|
37
|
+
|
29
38
|
Thread.new do
|
30
39
|
config = nil
|
31
|
-
|
40
|
+
retry_count = 0
|
41
|
+
|
42
|
+
# There is an issue if we start to fast and there are gems that require things,
|
43
|
+
# it may break the execution. That's why we want to give the application time to boot.
|
44
|
+
sleep(0.5)
|
32
45
|
|
33
46
|
loop do
|
34
47
|
config = Diffend::Config.new(
|
@@ -37,12 +50,11 @@ Thread.new do
|
|
37
50
|
)
|
38
51
|
|
39
52
|
break if config.valid?
|
53
|
+
break if retry_count == 12
|
40
54
|
|
41
|
-
|
42
|
-
|
43
|
-
break if config_iterations == 12
|
55
|
+
sleep(exponential_backoff(retry_count))
|
44
56
|
|
45
|
-
|
57
|
+
retry_count += 1
|
46
58
|
end
|
47
59
|
|
48
60
|
Thread.exit unless config.valid?
|
data/lib/diffend/plugin.rb
CHANGED
@@ -0,0 +1,109 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
%w[
|
4
|
+
tmpdir
|
5
|
+
securerandom
|
6
|
+
].each(&method(:require))
|
7
|
+
|
8
|
+
module Diffend
|
9
|
+
# Repository for specs
|
10
|
+
class Repository
|
11
|
+
# Repositories path
|
12
|
+
REPOSITORIES_PATH = File.join(
|
13
|
+
File.expand_path('..', Bundler.bin_path),
|
14
|
+
'repositories'
|
15
|
+
).freeze
|
16
|
+
# List of supported repositories split by command
|
17
|
+
SUPPORTED = {
|
18
|
+
'install' => %w[
|
19
|
+
with_gemfile_lock
|
20
|
+
with_gemfile_lock_with_added_gem
|
21
|
+
with_gemfile_lock_with_changed_gem_version
|
22
|
+
with_gemfile_lock_with_locked_gem_version
|
23
|
+
with_gemfile_lock_with_removed_gem
|
24
|
+
with_gemfile_lock_with_two_platforms
|
25
|
+
with_gemfile_lock_with_two_primary_sources
|
26
|
+
with_gemfile_lock_with_two_sources
|
27
|
+
without_gemfile_lock
|
28
|
+
].freeze,
|
29
|
+
'update' => %w[
|
30
|
+
with_gemfile_lock
|
31
|
+
with_gemfile_lock_with_added_gem
|
32
|
+
with_gemfile_lock_with_removed_gem
|
33
|
+
with_gemfile_lock_with_two_primary_sources
|
34
|
+
with_gemfile_lock_with_two_sources
|
35
|
+
without_gemfile_lock
|
36
|
+
].freeze
|
37
|
+
}.freeze
|
38
|
+
|
39
|
+
attr_reader :name, :path
|
40
|
+
|
41
|
+
# @param command [String] command executed via bundler
|
42
|
+
# @param name [String] repository name
|
43
|
+
def initialize(command, name)
|
44
|
+
@command = command
|
45
|
+
@name = name
|
46
|
+
@path = File.join(Dir.tmpdir, SecureRandom.uuid)
|
47
|
+
end
|
48
|
+
|
49
|
+
# Build repository path
|
50
|
+
#
|
51
|
+
# @return [String]
|
52
|
+
def orig_path
|
53
|
+
@orig_path ||= global_file_path(
|
54
|
+
File.join(
|
55
|
+
bundler_version_string,
|
56
|
+
"#{@command}_#{name}"
|
57
|
+
)
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Setup an isolated instance of a repository
|
62
|
+
def setup
|
63
|
+
FileUtils.cp_r(orig_path, path)
|
64
|
+
end
|
65
|
+
|
66
|
+
# Clean isolated instance of a repository
|
67
|
+
def clean
|
68
|
+
FileUtils.rm_rf(path)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Execute tasks in an isolated instance of a repository
|
72
|
+
def isolate
|
73
|
+
setup
|
74
|
+
yield(path)
|
75
|
+
clean
|
76
|
+
end
|
77
|
+
|
78
|
+
# Build the path to a specified file within the repository
|
79
|
+
#
|
80
|
+
# @param file_name [String]
|
81
|
+
#
|
82
|
+
# @return [String]
|
83
|
+
def file_path(file_name)
|
84
|
+
File.join(
|
85
|
+
path,
|
86
|
+
file_name
|
87
|
+
)
|
88
|
+
end
|
89
|
+
|
90
|
+
# Build global path
|
91
|
+
#
|
92
|
+
# @param file_name [String]
|
93
|
+
#
|
94
|
+
# @return [String]
|
95
|
+
def global_file_path(file_name)
|
96
|
+
File.join(
|
97
|
+
REPOSITORIES_PATH,
|
98
|
+
file_name
|
99
|
+
)
|
100
|
+
end
|
101
|
+
|
102
|
+
# Build bundler version string
|
103
|
+
#
|
104
|
+
# @return [String]
|
105
|
+
def bundler_version_string
|
106
|
+
@bundler_version_string ||= "bundler_#{Bundler::VERSION.tr('.', '_')}"
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
data/lib/diffend/request.rb
CHANGED
@@ -7,15 +7,15 @@ module Diffend
|
|
7
7
|
module RequestVerdict
|
8
8
|
# Exceptions that we handle when there is a resolve issue
|
9
9
|
RESOLVE_EXCEPTIONS = [
|
10
|
-
Bundler::GemNotFound,
|
11
|
-
Bundler::GitError,
|
12
|
-
Bundler::PermissionError,
|
13
|
-
Bundler::VersionConflict
|
10
|
+
::Bundler::GemNotFound,
|
11
|
+
::Bundler::GitError,
|
12
|
+
::Bundler::PermissionError,
|
13
|
+
::Bundler::VersionConflict
|
14
14
|
].freeze
|
15
15
|
|
16
16
|
class << self
|
17
17
|
# @param config [Diffend::Config]
|
18
|
-
# @param definition [Bundler::Definition] definition for your source
|
18
|
+
# @param definition [::Bundler::Definition] definition for your source
|
19
19
|
def call(config, definition)
|
20
20
|
payload = Diffend::LocalContext.call(config, definition)
|
21
21
|
|
@@ -42,10 +42,10 @@ module Diffend
|
|
42
42
|
# @return [Diffend::RequestObject]
|
43
43
|
def build_request_object(config, payload)
|
44
44
|
Diffend::RequestObject.new(
|
45
|
-
config
|
46
|
-
|
47
|
-
payload
|
48
|
-
|
45
|
+
config,
|
46
|
+
config.commands_url,
|
47
|
+
payload,
|
48
|
+
:post
|
49
49
|
)
|
50
50
|
end
|
51
51
|
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'open3'
|
4
|
+
|
5
|
+
# Helper commands for running Linux shell commands
|
6
|
+
module Diffend
|
7
|
+
module Shell
|
8
|
+
class << self
|
9
|
+
# Allows to execute shell commands and handle errors, etc later
|
10
|
+
# (won't raise any errors but instead will catch all things)
|
11
|
+
# @param command_with_options [String] command that should be executed with
|
12
|
+
# all the arguments and options
|
13
|
+
# @param raise_on_invalid_exit [Boolean] raise exception when exit code is not 0
|
14
|
+
# @return [Hash] hash with 3 keys describing output
|
15
|
+
# (stdout, stderr, exit_code)
|
16
|
+
# @example Run ls
|
17
|
+
# SupportEngine::Shell.('ls') =>
|
18
|
+
# { stdout: "test.rb\n", stderr: '', exit_code: 0}
|
19
|
+
def call(command_with_options, raise_on_invalid_exit: true)
|
20
|
+
stdout_str, stderr_str, status = Open3.capture3(command_with_options)
|
21
|
+
|
22
|
+
result = {
|
23
|
+
stdout: stdout_str,
|
24
|
+
stderr: stderr_str,
|
25
|
+
exit_code: status.exitstatus
|
26
|
+
}
|
27
|
+
|
28
|
+
raise Diffend::Errors::FailedShellCommand, result.values.join(': ') \
|
29
|
+
if raise_on_invalid_exit && result[:exit_code] != 0
|
30
|
+
|
31
|
+
result
|
32
|
+
end
|
33
|
+
|
34
|
+
# @param path [String, Pathname] to a place where git repo is
|
35
|
+
# @param command [String] that we want to execute in path context
|
36
|
+
# @param raise_on_invalid_exit [Boolean] raise exception when exit code is not 0
|
37
|
+
# @return [Hash] hash with 3 keys describing output (stdout, stderr, exit_code)
|
38
|
+
def call_in_path(path, command, raise_on_invalid_exit: true)
|
39
|
+
command = ['cd', path.to_s, '&&', command]
|
40
|
+
call(command.join(' '), raise_on_invalid_exit: raise_on_invalid_exit)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/diffend/track.rb
CHANGED
@@ -62,10 +62,10 @@ module Diffend
|
|
62
62
|
# @return [Diffend::RequestObject]
|
63
63
|
def build_request_object(request_id)
|
64
64
|
Diffend::RequestObject.new(
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
65
|
+
@config,
|
66
|
+
@config.track_url(request_id),
|
67
|
+
{ id: request_id }.freeze,
|
68
|
+
:put
|
69
69
|
).freeze
|
70
70
|
end
|
71
71
|
end
|
data/lib/diffend/version.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
concurrent-ruby (1.0.5)
|
5
|
+
concurrent-ruby (1.0.5-java)
|
6
|
+
dry-core (0.4.7)
|
7
|
+
concurrent-ruby (~> 1.0)
|
8
|
+
mini_portile2 (2.4.0)
|
9
|
+
nokogiri (1.10.10)
|
10
|
+
mini_portile2 (~> 2.4.0)
|
11
|
+
nokogiri (1.10.10-java)
|
12
|
+
|
13
|
+
PLATFORMS
|
14
|
+
java
|
15
|
+
ruby
|
16
|
+
|
17
|
+
DEPENDENCIES
|
18
|
+
dry-core
|
19
|
+
nokogiri
|
20
|
+
|
21
|
+
BUNDLED WITH
|
22
|
+
2.1.4
|
data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_changed_gem_version/Gemfile.lock
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
concurrent-ruby (1.0.5)
|
5
|
+
dry-core (0.4.7)
|
6
|
+
concurrent-ruby (~> 1.0)
|
7
|
+
dry-inflector (0.1.2)
|
8
|
+
|
9
|
+
PLATFORMS
|
10
|
+
java
|
11
|
+
ruby
|
12
|
+
|
13
|
+
DEPENDENCIES
|
14
|
+
dry-core (= 0.4.7)
|
15
|
+
dry-inflector
|
16
|
+
|
17
|
+
BUNDLED WITH
|
18
|
+
2.1.4
|
@@ -0,0 +1 @@
|
|
1
|
+
Bundle on both latest `ruby` and `jruby`
|
data/repositories/bundler_2_1_4/install_with_gemfile_lock_with_locked_gem_version/Gemfile.lock
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
concurrent-ruby (1.0.5)
|
5
|
+
concurrent-ruby (1.0.5-java)
|
6
|
+
dry-core (0.4.7)
|
7
|
+
concurrent-ruby (~> 1.0)
|
8
|
+
dry-inflector (0.1.2)
|
9
|
+
|
10
|
+
PLATFORMS
|
11
|
+
java
|
12
|
+
ruby
|
13
|
+
|
14
|
+
DEPENDENCIES
|
15
|
+
dry-core (= 0.4.7)
|
16
|
+
dry-inflector
|
17
|
+
|
18
|
+
BUNDLED WITH
|
19
|
+
2.1.4
|