diffend-monitor 0.2.46 → 0.2.51

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: d7a9ce0136a3adc532898cdabc5972be7ed152c0479a7ad724ec66a5a563777a
4
- data.tar.gz: ece9ff8f2226deff51cb670b0cb985247fd4b497d0538015d736192bb0548b01
3
+ metadata.gz: 5b6bf6709bc22ef240c6c1d49c05582da2b76b6f6e2906aa34fb31140c001b2a
4
+ data.tar.gz: 749ec381873f1f8ff49795887ae7609bd344b8a98a50da05805986f0fc7e611d
5
5
  SHA512:
6
- metadata.gz: a2b69a6ca6aacb8a99d45c6333f6da252b4a952d939d704b75f6d122e9cb5c383bb222992488226ebc3a400bd9db91a310365279141d612524c191b67a5b2d69
7
- data.tar.gz: fe78cb956b12566737ab17dd092c2a42eab82cafd9dd5ca81f409978b0f837c28b4ff99d0617aeae847085390dc173736f3786d31d5973b54f856cfa7cc35261
6
+ metadata.gz: '00589108430c94fea832377badc604b0d48bfc5dd6e72b57e380353390e0a5ec797bfd7d68332a5a94db65755cc2e3786c5449cffdd94071e0c4ecdcc958ce13'
7
+ data.tar.gz: c2680fd00e8f79f84d9f79c6950f61d7297709087772351e1b2036cf8dd9419d4fb04ff623b8bf5030a06295403968fb29dfa8f129745c1dd3dc9cafb830dde8
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,6 +1,28 @@
1
1
  # Changelog
2
2
 
3
- ## [Unreleased][master]
3
+ ## [0.2.51] (2021-09-09)
4
+ - Fix #172 - `bundle secure` not working without `.diffend.yml`
5
+
6
+ ## [0.2.50] (2021-08-19)
7
+ - Fix #132 - `bundle` without command name fails to recognize that first argument is an option
8
+ - Bundler 2.2.26 specs support
9
+ - Bundler 2.2.27 specs support
10
+
11
+ ## [0.2.49] (2021-08-11)
12
+ - Bundler 2.2.20 specs support
13
+ - Bundler 2.2.21 specs support
14
+ - Bundler 2.2.22 specs support
15
+ - Bundler 2.2.23 specs support
16
+ - Bundler 2.2.24 specs support
17
+ - Bundler 2.2.25 specs support
18
+
19
+ ## [0.2.48] (2021-05-31)
20
+ - Add Windows host user detection
21
+
22
+ ## [0.2.47] (2021-05-31)
23
+ - Bundler 2.2.18 support
24
+ - Bundler 2.2.19 support
25
+ - Windows support
4
26
 
5
27
  ## [0.2.46] (2021-05-05)
6
28
  - Optimized file selection to make releases smaller and easier to read through.
data/certs/mensfeld.pem CHANGED
@@ -1,25 +1,25 @@
1
1
  -----BEGIN CERTIFICATE-----
2
2
  MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhtYWNp
3
- ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjAwODExMDkxNTM3WhcNMjEwODExMDkx
4
- NTM3WjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
5
- CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDCpXsCgmINb6lHBXXBdyrgsBPSxC4/
6
- 2H+weJ6L9CruTiv2+2/ZkQGtnLcDgrD14rdLIHK7t0o3EKYlDT5GhD/XUVhI15JE
7
- N7IqnPUgexe1fbZArwQ51afxz2AmPQN2BkB2oeQHXxnSWUGMhvcEZpfbxCCJH26w
8
- hS0Ccsma8yxA6hSlGVhFVDuCr7c2L1di6cK2CtIDpfDaWqnVNJEwBYHIxrCoWK5g
9
- sIGekVt/admS9gRhIMaIBg+Mshth5/DEyWO2QjteTodItlxfTctrfmiAl8X8T5JP
10
- VXeLp5SSOJ5JXE80nShMJp3RFnGw5fqjX/ffjtISYh78/By4xF3a25HdWH9+qO2Z
11
- tx0wSGc9/4gqNM0APQnjN/4YXrGZ4IeSjtE+OrrX07l0TiyikzSLFOkZCAp8oBJi
12
- Fhlosz8xQDJf7mhNxOaZziqASzp/hJTU/tuDKl5+ql2icnMv5iV/i6SlmvU29QNg
13
- LCV71pUv0pWzN+OZbHZKWepGhEQ3cG9MwvkCAwEAAaN3MHUwCQYDVR0TBAIwADAL
14
- BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFImGed2AXS070ohfRidiCEhXEUN+MB0GA1Ud
3
+ ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjEwODExMTQxNTEzWhcNMjIwODExMTQx
4
+ NTEzWjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
5
+ CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDV2jKH4Ti87GM6nyT6D+ESzTI0MZDj
6
+ ak2/TEwnxvijMJyCCPKT/qIkbW4/f0VHM4rhPr1nW73sb5SZBVFCLlJcOSKOBdUY
7
+ TMY+SIXN2EtUaZuhAOe8LxtxjHTgRHvHcqUQMBENXTISNzCo32LnUxweu66ia4Pd
8
+ 1mNRhzOqNv9YiBZvtBf7IMQ+sYdOCjboq2dlsWmJiwiDpY9lQBTnWORnT3mQxU5x
9
+ vPSwnLB854cHdCS8fQo4DjeJBRZHhEbcE5sqhEMB3RZA3EtFVEXOxlNxVTS3tncI
10
+ qyNXiWDaxcipaens4ObSY1C2HTV7OWb7OMqSCIybeYTSfkaSdqmcl4S6zxXkjH1J
11
+ tnjayAVzD+QVXGijsPLE2PFnJAh9iDET2cMsjabO1f6l1OQNyAtqpcyQcgfnyW0z
12
+ g7tGxTYD+6wJHffM9d9txOUw6djkF6bDxyqB8lo4Z3IObCx18AZjI9XPS9QG7w6q
13
+ LCWuMG2lkCcRgASqaVk9fEf9yMc2xxz5o3kCAwEAAaN3MHUwCQYDVR0TBAIwADAL
14
+ BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFBqUFCKCOe5IuueUVqOB991jyCLLMB0GA1Ud
15
15
  EQQWMBSBEm1hY2llakBtZW5zZmVsZC5wbDAdBgNVHRIEFjAUgRJtYWNpZWpAbWVu
16
- c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBAKiHpwoENVrMi94V1zD4o8/6G3AU
17
- gWz4udkPYHTZLUy3dLznc/sNjdkJFWT3E6NKYq7c60EpJ0m0vAEg5+F5pmNOsvD3
18
- 2pXLj9kisEeYhR516HwXAvtngboUcb75skqvBCU++4Pu7BRAPjO1/ihLSBexbwSS
19
- fF+J5OWNuyHHCQp+kGPLtXJe2yUYyvSWDj3I2//Vk0VhNOIlaCS1+5/P3ZJThOtm
20
- zJUBI7h3HgovwRpcnmk2mXTmU4Zx/bCzX8EA6VY0khEvnmiq7S6eBF0H9qH8KyQ6
21
- EkVLpvmUDFcf/uNaBQdazEMB5jYtwoA8gQlANETNGPi51KlkukhKgaIEDMkBDJOx
22
- 65N7DzmkcyY0/GwjIVIxmRhcrCt1YeCUElmfFx0iida1/YRm6sB2AXqScc1+ECRi
23
- 2DND//YJUikn1zwbz1kT70XmHd97B4Eytpln7K+M1u2g1pHVEPW4owD/ammXNpUy
24
- nt70FcDD4yxJQ+0YNiHd0N8IcVBM1TMIVctMNQ==
16
+ c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBADD0/UuTTFgW+CGk2U0RDw2RBOca
17
+ W2LTF/G7AOzuzD0Tc4voc7WXyrgKwJREv8rgBimLnNlgmFJLmtUCh2U/MgxvcilH
18
+ yshYcbseNvjkrtYnLRlWZR4SSB6Zei5AlyGVQLPkvdsBpNegcG6w075YEwzX/38a
19
+ 8V9B/Yri2OGELBz8ykl7BsXUgNoUPA/4pHF6YRLz+VirOaUIQ4JfY7xGj6fSOWWz
20
+ /rQ/d77r6o1mfJYM/3BRVg73a3b7DmRnE5qjwmSaSQ7u802pJnLesmArch0xGCT/
21
+ fMmRli1Qb+6qOTl9mzD6UDMAyFR4t6MStLm0mIEqM0nBO5nUdUWbC7l9qXEf8XBE
22
+ 2DP28p3EqSuS+lKbAWKcqv7t0iRhhmaod+Yn9mcrLN1sa3q3KSQ9BCyxezCD4Mk2
23
+ R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
24
+ pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
25
25
  -----END CERTIFICATE-----
data/config/diffend.yml CHANGED
@@ -4,3 +4,4 @@ shareable_key: <%= ENV['DIFFEND_SHAREABLE_KEY'] %>
4
4
  env: <%= ENV['DIFFEND_ENV'] || 'development' %>
5
5
  ignore_errors: <%= ENV['DIFFEND_IGNORE_ERRORS'] || 'true' %>
6
6
  development: <%= ENV['DIFFEND_DEVELOPMENT'] || 'true' %>
7
+ execute: <%= ENV['DIFFEND_EXECUTE'] || 'true' %>
data/diffend.gemspec CHANGED
@@ -14,7 +14,7 @@ files_locations = %w[
14
14
  ]
15
15
 
16
16
  Gem::Specification.new do |spec|
17
- spec.name = 'diffend-monitor'
17
+ spec.name = 'diffend'
18
18
  spec.version = Diffend::VERSION
19
19
  spec.authors = ['Tomasz Pajor', 'Maciej Mensfeld']
20
20
  spec.email = ['contact@diffend.io']
@@ -23,6 +23,8 @@ Gem::Specification.new do |spec|
23
23
  spec.homepage = 'https://diffend.io'
24
24
  spec.license = 'Prosperity Public License'
25
25
 
26
+ spec.required_ruby_version = '>= 2.5.0'
27
+
26
28
  if $PROGRAM_NAME.end_with?('gem')
27
29
  spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem')
28
30
  end
@@ -17,7 +17,32 @@ module Diffend
17
17
 
18
18
  Diffend::LatestVersion.call(config)
19
19
 
20
+ return unless config.execute?
21
+
22
+ unless config.valid?
23
+ config.print_errors
24
+
25
+ exit 255
26
+ end
27
+
20
28
  Diffend::Execute.call(config)
29
+ rescue Diffend::Errors::HandledException
30
+ # config will not be initialized when configuration file is missing
31
+ return if config&.ignore_errors?
32
+
33
+ exit 255
34
+ rescue StandardError => e
35
+ Diffend::HandleErrors::Report.call(
36
+ exception: e,
37
+ config: config,
38
+ message: :unhandled_exception,
39
+ report: true,
40
+ raise_exception: false
41
+ )
42
+
43
+ return if config.ignore_errors?
44
+
45
+ exit 255
21
46
  end
22
47
  end
23
48
  end
@@ -42,6 +42,14 @@ module Diffend
42
42
  @development
43
43
  end
44
44
 
45
+ # This method is provided just in case something would go wrong with Diffend but there would be
46
+ # a need to run Bundler anyhow. Please don't use unless aware of the downsides.
47
+ #
48
+ # @return [Boolean] should we run Diffend or skip it and continue without it.
49
+ def execute?
50
+ @execute
51
+ end
52
+
45
53
  # @return [Boolean] true if we are in deployment mode, false otherwise
46
54
  def deployment?
47
55
  !%w[development test].include?(env)
@@ -96,7 +104,14 @@ module Diffend
96
104
  #
97
105
  # @return [String]
98
106
  def build_command
99
- ARGV.first || ::Bundler.feature_flag.default_cli_command.to_s
107
+ default = ::Bundler.feature_flag.default_cli_command.to_s
108
+
109
+ return default unless ARGV.first
110
+ # There is a case where no command may be provided and the first argument is the first option
111
+ # In a case like this we fallback to default command
112
+ return default if ARGV.first.start_with?('-')
113
+
114
+ ARGV.first
100
115
  end
101
116
 
102
117
  # @return [String] path to the plugin
@@ -3,6 +3,7 @@
3
3
  require 'securerandom'
4
4
 
5
5
  module Diffend
6
+ # Errors handlers namespace
6
7
  module HandleErrors
7
8
  # Module responsible for building exception payload
8
9
  module BuildExceptionPayload
@@ -10,7 +10,14 @@ module Diffend
10
10
  # Gemfile backup file name
11
11
  GEMFILE_BACKUP_FILE_NAME = 'Gemfile.backup'
12
12
  # Plugin install command
13
- PLUGIN_INSTALL_COMMAND = 'bundle plugin install diffend'
13
+ PLUGIN_INSTALL_COMMAND = [
14
+ 'bundle',
15
+ "_#{Bundler::VERSION}_",
16
+ 'plugin',
17
+ 'install',
18
+ 'diffend',
19
+ '--source https://rubygems.org'
20
+ ].join(' ').freeze
14
21
 
15
22
  attr_reader :command, :name, :repository
16
23
 
@@ -7,6 +7,11 @@ module Diffend
7
7
  module LocalContext
8
8
  # Module responsible for building host information from local context
9
9
  module Host
10
+ # Regexp that checks if we're running under Windows
11
+ WINDOWS_REGEXP = /cygwin|mswin|mingw|bccwin|wince|emx/
12
+
13
+ private_constant :WINDOWS_REGEXP
14
+
10
15
  class << self
11
16
  # Build host information
12
17
  #
@@ -24,7 +29,7 @@ module Diffend
24
29
  'version' => uname[:version]
25
30
  },
26
31
  'tags' => tags,
27
- 'user' => Etc.getpwuid(Process.uid).name,
32
+ 'user' => Etc.getpwuid(Process.uid)&.name || ENV['USERNAME'],
28
33
  'pid' => Process.pid
29
34
  }.freeze
30
35
  end
@@ -36,7 +41,7 @@ module Diffend
36
41
  # @return [Hash]
37
42
  def command
38
43
  if File.exist?($PROGRAM_NAME)
39
- if defined?(JRUBY_VERSION)
44
+ if defined?(JRUBY_VERSION) || WINDOWS_REGEXP =~ RUBY_PLATFORM
40
45
  name = $PROGRAM_NAME.split('/').last.strip
41
46
  command = "#{name} #{ARGV.join(' ')}"
42
47
  else
@@ -51,6 +51,8 @@ module Diffend
51
51
 
52
52
  config = Diffend::Config.new(severity: Diffend::Logger::INFO)
53
53
 
54
+ return unless config.execute?
55
+
54
56
  unless config.valid?
55
57
  config.print_errors
56
58
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Diffend
4
4
  # Current version
5
- VERSION = '0.2.46'
5
+ VERSION = '0.2.51'
6
6
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diffend-monitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.46
4
+ version: 0.2.51
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomasz Pajor
@@ -12,30 +12,30 @@ cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
14
  MIIEODCCAqCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhtYWNp
15
- ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjAwODExMDkxNTM3WhcNMjEwODExMDkx
16
- NTM3WjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
17
- CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDCpXsCgmINb6lHBXXBdyrgsBPSxC4/
18
- 2H+weJ6L9CruTiv2+2/ZkQGtnLcDgrD14rdLIHK7t0o3EKYlDT5GhD/XUVhI15JE
19
- N7IqnPUgexe1fbZArwQ51afxz2AmPQN2BkB2oeQHXxnSWUGMhvcEZpfbxCCJH26w
20
- hS0Ccsma8yxA6hSlGVhFVDuCr7c2L1di6cK2CtIDpfDaWqnVNJEwBYHIxrCoWK5g
21
- sIGekVt/admS9gRhIMaIBg+Mshth5/DEyWO2QjteTodItlxfTctrfmiAl8X8T5JP
22
- VXeLp5SSOJ5JXE80nShMJp3RFnGw5fqjX/ffjtISYh78/By4xF3a25HdWH9+qO2Z
23
- tx0wSGc9/4gqNM0APQnjN/4YXrGZ4IeSjtE+OrrX07l0TiyikzSLFOkZCAp8oBJi
24
- Fhlosz8xQDJf7mhNxOaZziqASzp/hJTU/tuDKl5+ql2icnMv5iV/i6SlmvU29QNg
25
- LCV71pUv0pWzN+OZbHZKWepGhEQ3cG9MwvkCAwEAAaN3MHUwCQYDVR0TBAIwADAL
26
- BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFImGed2AXS070ohfRidiCEhXEUN+MB0GA1Ud
15
+ ZWovREM9bWVuc2ZlbGQvREM9cGwwHhcNMjEwODExMTQxNTEzWhcNMjIwODExMTQx
16
+ NTEzWjAjMSEwHwYDVQQDDBhtYWNpZWovREM9bWVuc2ZlbGQvREM9cGwwggGiMA0G
17
+ CSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDV2jKH4Ti87GM6nyT6D+ESzTI0MZDj
18
+ ak2/TEwnxvijMJyCCPKT/qIkbW4/f0VHM4rhPr1nW73sb5SZBVFCLlJcOSKOBdUY
19
+ TMY+SIXN2EtUaZuhAOe8LxtxjHTgRHvHcqUQMBENXTISNzCo32LnUxweu66ia4Pd
20
+ 1mNRhzOqNv9YiBZvtBf7IMQ+sYdOCjboq2dlsWmJiwiDpY9lQBTnWORnT3mQxU5x
21
+ vPSwnLB854cHdCS8fQo4DjeJBRZHhEbcE5sqhEMB3RZA3EtFVEXOxlNxVTS3tncI
22
+ qyNXiWDaxcipaens4ObSY1C2HTV7OWb7OMqSCIybeYTSfkaSdqmcl4S6zxXkjH1J
23
+ tnjayAVzD+QVXGijsPLE2PFnJAh9iDET2cMsjabO1f6l1OQNyAtqpcyQcgfnyW0z
24
+ g7tGxTYD+6wJHffM9d9txOUw6djkF6bDxyqB8lo4Z3IObCx18AZjI9XPS9QG7w6q
25
+ LCWuMG2lkCcRgASqaVk9fEf9yMc2xxz5o3kCAwEAAaN3MHUwCQYDVR0TBAIwADAL
26
+ BgNVHQ8EBAMCBLAwHQYDVR0OBBYEFBqUFCKCOe5IuueUVqOB991jyCLLMB0GA1Ud
27
27
  EQQWMBSBEm1hY2llakBtZW5zZmVsZC5wbDAdBgNVHRIEFjAUgRJtYWNpZWpAbWVu
28
- c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBAKiHpwoENVrMi94V1zD4o8/6G3AU
29
- gWz4udkPYHTZLUy3dLznc/sNjdkJFWT3E6NKYq7c60EpJ0m0vAEg5+F5pmNOsvD3
30
- 2pXLj9kisEeYhR516HwXAvtngboUcb75skqvBCU++4Pu7BRAPjO1/ihLSBexbwSS
31
- fF+J5OWNuyHHCQp+kGPLtXJe2yUYyvSWDj3I2//Vk0VhNOIlaCS1+5/P3ZJThOtm
32
- zJUBI7h3HgovwRpcnmk2mXTmU4Zx/bCzX8EA6VY0khEvnmiq7S6eBF0H9qH8KyQ6
33
- EkVLpvmUDFcf/uNaBQdazEMB5jYtwoA8gQlANETNGPi51KlkukhKgaIEDMkBDJOx
34
- 65N7DzmkcyY0/GwjIVIxmRhcrCt1YeCUElmfFx0iida1/YRm6sB2AXqScc1+ECRi
35
- 2DND//YJUikn1zwbz1kT70XmHd97B4Eytpln7K+M1u2g1pHVEPW4owD/ammXNpUy
36
- nt70FcDD4yxJQ+0YNiHd0N8IcVBM1TMIVctMNQ==
28
+ c2ZlbGQucGwwDQYJKoZIhvcNAQELBQADggGBADD0/UuTTFgW+CGk2U0RDw2RBOca
29
+ W2LTF/G7AOzuzD0Tc4voc7WXyrgKwJREv8rgBimLnNlgmFJLmtUCh2U/MgxvcilH
30
+ yshYcbseNvjkrtYnLRlWZR4SSB6Zei5AlyGVQLPkvdsBpNegcG6w075YEwzX/38a
31
+ 8V9B/Yri2OGELBz8ykl7BsXUgNoUPA/4pHF6YRLz+VirOaUIQ4JfY7xGj6fSOWWz
32
+ /rQ/d77r6o1mfJYM/3BRVg73a3b7DmRnE5qjwmSaSQ7u802pJnLesmArch0xGCT/
33
+ fMmRli1Qb+6qOTl9mzD6UDMAyFR4t6MStLm0mIEqM0nBO5nUdUWbC7l9qXEf8XBE
34
+ 2DP28p3EqSuS+lKbAWKcqv7t0iRhhmaod+Yn9mcrLN1sa3q3KSQ9BCyxezCD4Mk2
35
+ R2P11bWoCtr70BsccVrN8jEhzwXngMyI2gVt750Y+dbTu1KgRqZKp/ECe7ZzPzXj
36
+ pIy9vHxTANKYVyI4qj8OrFdEM5BQNu8oQpL0iQ==
37
37
  -----END CERTIFICATE-----
38
- date: 2021-05-05 00:00:00.000000000 Z
38
+ date: 2021-09-09 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: bundler
@@ -123,14 +123,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - ">="
125
125
  - !ruby/object:Gem::Version
126
- version: '0'
126
+ version: 2.5.0
127
127
  required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  requirements: []
133
- rubygems_version: 3.2.15
133
+ rubygems_version: 3.2.27
134
134
  signing_key:
135
135
  specification_version: 4
136
136
  summary: OSS supply chain security and management platform
metadata.gz.sig CHANGED
Binary file