fastlane-plugin-sentry 1.8.3 → 1.9.0

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: 21a116d5b4eb9c0d9ae9fdd57285b00b26056fc95fd868e3c7badb899011a913
4
- data.tar.gz: 2c705d4ce741a5ba190ed8a9a060e07fb733741fe5978fc7c6affa6cc6360aa9
3
+ metadata.gz: 0fcaac063173141e154a7713fe39aaea1f541d6656faca25b59e97e74ac8628a
4
+ data.tar.gz: be174a0c3dd6b3c1df22a87c0b67b90aebf0e4684a1aff65dc183e2c2d9d1356
5
5
  SHA512:
6
- metadata.gz: f06720c349c8259d76cf62162cb2fa8423e0341d8109c920146d89fe6396a1cfe863285751e6aeafff41fc09c2471fee46c0d956b60b471728220855c82ff2fe
7
- data.tar.gz: '0582c4874bfa494c19c2b91b025159ba8c71b966857a0b275b7721688906006f9c96720fb64a22a1af5c064f4ca2557a8b3ff60d6dde5a76dc7c3994c0214b6a'
6
+ metadata.gz: 1c4962ae6e42b13c30f9633ff2026358cac06c73c9a00a2b88cd025dc7872771f360667d40ed4915efde2df0cdc8a87fb69781f87ea9d9ff47721cc79a76f685
7
+ data.tar.gz: d4fd92588967cdce3bc6847752afc63cf496edeb2d5b978f2252fe99ab58439c64779b7c7016a9e4dc4db0864abeb11da2a0553f9d21a0764e6c7f9124e772c2
data/README.md CHANGED
@@ -72,6 +72,7 @@ sentry_upload_file(
72
72
  project_slug: '...',
73
73
  version: '...',
74
74
  app_identifier: '...', # pass in the bundle_identifer of your app
75
+ build: '...', # Optionally pass in the build number of your app
75
76
  dist: '...', # optional distribution of the release usually the buildnumber
76
77
  file: 'main.jsbundle' # file to upload
77
78
  )
@@ -85,6 +86,7 @@ sentry_upload_sourcemap(
85
86
  project_slug: '...',
86
87
  version: '...',
87
88
  app_identifier: '...', # pass in the bundle_identifer of your app
89
+ build: '...', # Optionally pass in the build number of your app
88
90
  dist: '...', # optional distribution of the release usually the buildnumber
89
91
  sourcemap: 'main.jsbundle.map', # sourcemap to upload
90
92
  rewrite: true
@@ -99,11 +101,23 @@ sentry_upload_proguard(
99
101
  auth_token: '...', # Do not use if using api_key
100
102
  org_slug: '...',
101
103
  project_slug: '...',
102
- android_manifest_path: 'path to merged AndroidManifest file' # found in `app/build/intermediates/manifests/full`
104
+ android_manifest_path: 'path to merged AndroidManifest file', # found in `app/build/intermediates/manifests/full`
103
105
  mapping_path: 'path to mapping.txt to upload',
104
106
  )
105
107
  ```
106
108
 
109
+ #### Upload Debugging Information Files
110
+
111
+ ```ruby
112
+ sentry_upload_dif(
113
+ api_key: '...', # Do not use if using auth_token
114
+ auth_token: '...', # Do not use if using api_key
115
+ org_slug: '...',
116
+ project_slug: '...',
117
+ path: '/path/to/files'
118
+ )
119
+ ```
120
+
107
121
  #### Associating commits
108
122
 
109
123
  Useful for telling Sentry which commits are associated with a release.
@@ -112,6 +126,7 @@ Useful for telling Sentry which commits are associated with a release.
112
126
  sentry_set_commits(
113
127
  version: '...',
114
128
  app_identifier: '...', # pass in the bundle_identifer of your app
129
+ build: '...', # Optionally pass in the build number of your app
115
130
  auto: false, # enable completely automated commit management
116
131
  clear: false, # clear all current commits from the release
117
132
  commit: '...', # commit spec, see `sentry-cli releases help set-commits` for more information
@@ -130,6 +145,7 @@ sentry_create_deploy(
130
145
  project_slug: '...',
131
146
  version: '...',
132
147
  app_identifier: '...', # pass in the bundle_identifer of your app
148
+ build: '...', # Optionally pass in the build number of your app
133
149
  env: 'staging', # The environment for this deploy. Required.
134
150
  name: '...', # Optional human readable name
135
151
  deploy_url: '...', # Optional URL that points to the deployment
@@ -9,6 +9,7 @@ module Fastlane
9
9
 
10
10
  version = params[:version]
11
11
  version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
12
+ version = "#{version}+#{params[:build]}" if params[:build]
12
13
 
13
14
  command = [
14
15
  "sentry-cli",
@@ -47,6 +48,15 @@ module Fastlane
47
48
  Helper::SentryConfig.common_api_config_items + [
48
49
  FastlaneCore::ConfigItem.new(key: :version,
49
50
  description: "Release version to associate the deploy with on Sentry"),
51
+ FastlaneCore::ConfigItem.new(key: :app_identifier,
52
+ short_option: "-a",
53
+ env_name: "SENTRY_APP_IDENTIFIER",
54
+ description: "App Bundle Identifier, prepended with the version.\nFor example bundle@version",
55
+ optional: true),
56
+ FastlaneCore::ConfigItem.new(key: :build,
57
+ short_option: "-b",
58
+ description: "Release build to associate the deploy with on Sentry",
59
+ optional: true),
50
60
  FastlaneCore::ConfigItem.new(key: :env,
51
61
  short_option: "-e",
52
62
  description: "Set the environment for this release. This argument is required. Values that make sense here would be 'production' or 'staging'",
@@ -70,11 +80,6 @@ module Fastlane
70
80
  short_option: "-t",
71
81
  description: "Optional deployment duration in seconds. This can be specified alternatively to `started` and `finished`",
72
82
  is_string: false,
73
- optional: true),
74
- FastlaneCore::ConfigItem.new(key: :app_identifier,
75
- short_option: "-a",
76
- env_name: "SENTRY_APP_IDENTIFIER",
77
- description: "App Bundle Identifier, prepended with the version.\nFor example bundle@version",
78
83
  optional: true)
79
84
  ]
80
85
  end
@@ -9,6 +9,7 @@ module Fastlane
9
9
 
10
10
  version = params[:version]
11
11
  version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
12
+ version = "#{version}+#{params[:build]}" if params[:build]
12
13
 
13
14
  command = [
14
15
  "sentry-cli",
@@ -41,17 +42,20 @@ module Fastlane
41
42
  Helper::SentryConfig.common_api_config_items + [
42
43
  FastlaneCore::ConfigItem.new(key: :version,
43
44
  description: "Release version to create on Sentry"),
44
- FastlaneCore::ConfigItem.new(key: :finalize,
45
- description: "Whether to finalize the release. If not provided or false, the release can be finalized using the finalize_release action",
46
- default_value: false,
47
- is_string: false,
48
- optional: true),
49
45
  FastlaneCore::ConfigItem.new(key: :app_identifier,
50
46
  short_option: "-a",
51
47
  env_name: "SENTRY_APP_IDENTIFIER",
52
48
  description: "App Bundle Identifier, prepended to version",
53
- optional: true)
54
-
49
+ optional: true),
50
+ FastlaneCore::ConfigItem.new(key: :build,
51
+ short_option: "-b",
52
+ description: "Release build to create on Sentry",
53
+ optional: true),
54
+ FastlaneCore::ConfigItem.new(key: :finalize,
55
+ description: "Whether to finalize the release. If not provided or false, the release can be finalized using the finalize_release action",
56
+ default_value: false,
57
+ is_string: false,
58
+ optional: true)
55
59
  ]
56
60
  end
57
61
 
@@ -9,6 +9,7 @@ module Fastlane
9
9
 
10
10
  version = params[:version]
11
11
  version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
12
+ version = "#{version}+#{params[:build]}" if params[:build]
12
13
 
13
14
  command = [
14
15
  "sentry-cli",
@@ -44,8 +45,11 @@ module Fastlane
44
45
  short_option: "-a",
45
46
  env_name: "SENTRY_APP_IDENTIFIER",
46
47
  description: "App Bundle Identifier, prepended to version",
48
+ optional: true),
49
+ FastlaneCore::ConfigItem.new(key: :build,
50
+ short_option: "-b",
51
+ description: "Release build to finalize on Sentry",
47
52
  optional: true)
48
-
49
53
  ]
50
54
  end
51
55
 
@@ -9,6 +9,7 @@ module Fastlane
9
9
 
10
10
  version = params[:version]
11
11
  version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
12
+ version = "#{version}+#{params[:build]}" if params[:build]
12
13
 
13
14
  command = [
14
15
  "sentry-cli",
@@ -49,6 +50,10 @@ module Fastlane
49
50
  env_name: "SENTRY_APP_IDENTIFIER",
50
51
  description: "App Bundle Identifier, prepended to version",
51
52
  optional: true),
53
+ FastlaneCore::ConfigItem.new(key: :build,
54
+ short_option: "-b",
55
+ description: "Release build on Sentry",
56
+ optional: true),
52
57
  FastlaneCore::ConfigItem.new(key: :auto,
53
58
  description: "Enable completely automated commit management",
54
59
  is_string: false,
@@ -0,0 +1,163 @@
1
+ module Fastlane
2
+ module Actions
3
+ class SentryUploadDifAction < Action
4
+ def self.run(params)
5
+ require 'shellwords'
6
+
7
+ Helper::SentryHelper.check_sentry_cli!
8
+ Helper::SentryConfig.parse_api_params(params)
9
+
10
+ path = params[:path]
11
+
12
+ command = [
13
+ "sentry-cli",
14
+ "upload-dif",
15
+ path
16
+ ]
17
+ command.push('--type').push(params[:type]) unless params[:type].nil?
18
+ command.push('--no_unwind') unless params[:no_unwind].nil?
19
+ command.push('--no_debug') unless params[:no_debug].nil?
20
+ command.push('--no_sources') unless params[:no_sources].nil?
21
+ command.push('--ids').push(params[:ids]) unless params[:ids].nil?
22
+ command.push('--require_all') unless params[:require_all].nil?
23
+ command.push('--symbol_maps').push(params[:symbol_maps]) unless params[:symbol_maps].nil?
24
+ command.push('--derived_data') unless params[:derived_data].nil?
25
+ command.push('--no_zips') unless params[:no_zips].nil?
26
+ command.push('--info_plist').push(params[:info_plist]) unless params[:info_plist].nil?
27
+ command.push('--no_reprocessing') unless params[:no_reprocessing].nil?
28
+ command.push('--force_foreground') unless params[:force_foreground].nil?
29
+ command.push('--include_sources') unless params[:include_sources].nil?
30
+ command.push('--wait') unless params[:wait].nil?
31
+ command.push('--upload_symbol_maps') unless params[:upload_symbol_maps].nil?
32
+
33
+ Helper::SentryHelper.call_sentry_cli(command)
34
+ UI.success("Successfully ran upload-dif")
35
+ end
36
+
37
+ #####################################################
38
+ # @!group Documentation
39
+ #####################################################
40
+
41
+ def self.description
42
+ "Upload debugging information files."
43
+ end
44
+
45
+ def self.details
46
+ [
47
+ "Files can be uploaded using the upload-dif command. This command will scan a given folder recursively for files and upload them to Sentry.",
48
+ "See https://docs.sentry.io/product/cli/dif/#uploading-files for more information."
49
+ ].join(" ")
50
+ end
51
+
52
+ def self.available_options
53
+ Helper::SentryConfig.common_api_config_items + [
54
+ FastlaneCore::ConfigItem.new(key: :path,
55
+ description: "A path to search recursively for symbol files"),
56
+ FastlaneCore::ConfigItem.new(key: :type,
57
+ short_option: "-t",
58
+ description: "Only consider debug information files of the given \
59
+ type. By default, all types are considered",
60
+ optional: true,
61
+ verify_block: proc do |value|
62
+ UI.user_error! "Invalid value '#{value}'" unless ['dsym', 'elf', 'breakpad', 'pdb', 'pe', 'sourcebundle', 'bcsymbolmap'].include? value
63
+ end),
64
+ FastlaneCore::ConfigItem.new(key: :no_unwind,
65
+ description: "Do not scan for stack unwinding information. Specify \
66
+ this flag for builds with disabled FPO, or when \
67
+ stackwalking occurs on the device. This usually \
68
+ excludes executables and dynamic libraries. They might \
69
+ still be uploaded, if they contain additional \
70
+ processable information (see other flags)",
71
+ is_string: false,
72
+ optional: true),
73
+ FastlaneCore::ConfigItem.new(key: :no_debug,
74
+ description: "Do not scan for debugging information. This will \
75
+ usually exclude debug companion files. They might \
76
+ still be uploaded, if they contain additional \
77
+ processable information (see other flags)",
78
+ conflicting_options: [:no_unwind],
79
+ is_string: false,
80
+ optional: true),
81
+ FastlaneCore::ConfigItem.new(key: :no_sources,
82
+ description: "Do not scan for source information. This will \
83
+ usually exclude source bundle files. They might \
84
+ still be uploaded, if they contain additional \
85
+ processable information (see other flags)",
86
+ is_string: false,
87
+ optional: true),
88
+ FastlaneCore::ConfigItem.new(key: :ids,
89
+ description: "Search for specific debug identifiers",
90
+ optional: true),
91
+ FastlaneCore::ConfigItem.new(key: :require_all,
92
+ description: "Errors if not all identifiers specified with --id could be found",
93
+ is_string: false,
94
+ optional: true),
95
+ FastlaneCore::ConfigItem.new(key: :symbol_maps,
96
+ description: "Optional path to BCSymbolMap files which are used to \
97
+ resolve hidden symbols in dSYM files downloaded from \
98
+ iTunes Connect. This requires the dsymutil tool to be \
99
+ available",
100
+ optional: true),
101
+ FastlaneCore::ConfigItem.new(key: :derived_data,
102
+ description: "Search for debug symbols in Xcode's derived data",
103
+ is_string: false,
104
+ optional: true),
105
+ FastlaneCore::ConfigItem.new(key: :no_zips,
106
+ description: "Do not search in ZIP files",
107
+ is_string: false,
108
+ optional: true),
109
+ FastlaneCore::ConfigItem.new(key: :info_plist,
110
+ description: "Optional path to the Info.plist.{n}We will try to find this \
111
+ automatically if run from Xcode. Providing this information \
112
+ will associate the debug symbols with a specific ITC application \
113
+ and build in Sentry. Note that if you provide the plist \
114
+ explicitly it must already be processed",
115
+ optional: true),
116
+ FastlaneCore::ConfigItem.new(key: :no_reprocessing,
117
+ description: "Do not trigger reprocessing after uploading",
118
+ is_string: false,
119
+ optional: true),
120
+ FastlaneCore::ConfigItem.new(key: :force_foreground,
121
+ description: "Wait for the process to finish.{n}\
122
+ By default, the upload process will detach and continue in the \
123
+ background when triggered from Xcode. When an error happens, \
124
+ a dialog is shown. If this parameter is passed Xcode will wait \
125
+ for the process to finish before the build finishes and output \
126
+ will be shown in the Xcode build output",
127
+ is_string: false,
128
+ optional: true),
129
+ FastlaneCore::ConfigItem.new(key: :include_sources,
130
+ description: "Include sources from the local file system and upload \
131
+ them as source bundles",
132
+ is_string: false,
133
+ optional: true),
134
+ FastlaneCore::ConfigItem.new(key: :wait,
135
+ description: "Wait for the server to fully process uploaded files. Errors \
136
+ can only be displayed if --wait is specified, but this will \
137
+ significantly slow down the upload process",
138
+ is_string: false,
139
+ optional: true),
140
+ FastlaneCore::ConfigItem.new(key: :upload_symbol_maps,
141
+ description: "Upload any BCSymbolMap files found to allow Sentry to resolve \
142
+ hidden symbols, e.g. when it downloads dSYMs directly from App \
143
+ Store Connect or when you upload dSYMs without first resolving \
144
+ the hidden symbols using --symbol-maps",
145
+ is_string: false,
146
+ optional: true),
147
+ ]
148
+ end
149
+
150
+ def self.return_value
151
+ nil
152
+ end
153
+
154
+ def self.authors
155
+ ["denrase"]
156
+ end
157
+
158
+ def self.is_supported?(platform)
159
+ true
160
+ end
161
+ end
162
+ end
163
+ end
@@ -7,10 +7,11 @@ module Fastlane
7
7
  Helper::SentryHelper.check_sentry_cli!
8
8
  Helper::SentryConfig.parse_api_params(params)
9
9
 
10
- file = params[:file]
11
-
12
10
  version = params[:version]
13
11
  version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
12
+ version = "#{version}+#{params[:build]}" if params[:build]
13
+
14
+ file = params[:file]
14
15
 
15
16
  command = [
16
17
  "sentry-cli",
@@ -46,6 +47,15 @@ module Fastlane
46
47
  Helper::SentryConfig.common_api_config_items + [
47
48
  FastlaneCore::ConfigItem.new(key: :version,
48
49
  description: "Release version on Sentry"),
50
+ FastlaneCore::ConfigItem.new(key: :app_identifier,
51
+ short_option: "-a",
52
+ env_name: "SENTRY_APP_IDENTIFIER",
53
+ description: "App Bundle Identifier, prepended to version",
54
+ optional: true),
55
+ FastlaneCore::ConfigItem.new(key: :build,
56
+ short_option: "-b",
57
+ description: "Release build on Sentry",
58
+ optional: true),
49
59
  FastlaneCore::ConfigItem.new(key: :dist,
50
60
  description: "Distribution in release",
51
61
  optional: true),
@@ -56,12 +66,7 @@ module Fastlane
56
66
  end),
57
67
  FastlaneCore::ConfigItem.new(key: :file_url,
58
68
  description: "Optional URL we should associate with the file",
59
- optional: true),
60
- FastlaneCore::ConfigItem.new(key: :app_identifier,
61
- short_option: "-a",
62
- env_name: "SENTRY_APP_IDENTIFIER",
63
- description: "App Bundle Identifier, prepended to version",
64
- optional: true)
69
+ optional: true)
65
70
  ]
66
71
  end
67
72
 
@@ -8,9 +8,10 @@ module Fastlane
8
8
  Helper::SentryConfig.parse_api_params(params)
9
9
 
10
10
  version = params[:version]
11
- sourcemap = params[:sourcemap]
12
-
13
11
  version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
12
+ version = "#{version}+#{params[:build]}" if params[:build]
13
+
14
+ sourcemap = params[:sourcemap]
14
15
 
15
16
  command = [
16
17
  "sentry-cli",
@@ -24,7 +25,7 @@ module Fastlane
24
25
  command.push('--rewrite') if params[:rewrite]
25
26
  command.push('--no-rewrite') unless params[:rewrite]
26
27
  command.push('--strip-prefix').push(params[:strip_prefix]) if params[:strip_prefix]
27
- command.push('--strip-common-prefix').push(params[:strip_common_prefix]) if params[:strip_common_prefix]
28
+ command.push('--strip-common-prefix') if params[:strip_common_prefix]
28
29
  command.push('--url-prefix').push(params[:url_prefix]) unless params[:url_prefix].nil?
29
30
  command.push('--dist').push(params[:dist]) unless params[:dist].nil?
30
31
 
@@ -63,6 +64,15 @@ module Fastlane
63
64
  Helper::SentryConfig.common_api_config_items + [
64
65
  FastlaneCore::ConfigItem.new(key: :version,
65
66
  description: "Release version on Sentry"),
67
+ FastlaneCore::ConfigItem.new(key: :app_identifier,
68
+ short_option: "-a",
69
+ env_name: "SENTRY_APP_IDENTIFIER",
70
+ description: "App Bundle Identifier, prepended to version",
71
+ optional: true),
72
+ FastlaneCore::ConfigItem.new(key: :build,
73
+ short_option: "-b",
74
+ description: "Release build on Sentry",
75
+ optional: true),
66
76
  FastlaneCore::ConfigItem.new(key: :dist,
67
77
  description: "Distribution in release",
68
78
  optional: true),
@@ -91,11 +101,6 @@ module Fastlane
91
101
  FastlaneCore::ConfigItem.new(key: :url_prefix,
92
102
  description: "Sets a URL prefix in front of all files",
93
103
  optional: true),
94
- FastlaneCore::ConfigItem.new(key: :app_identifier,
95
- short_option: "-a",
96
- env_name: "SENTRY_APP_IDENTIFIER",
97
- description: "App Bundle Identifier, prepended to version",
98
- optional: true),
99
104
  FastlaneCore::ConfigItem.new(key: :ignore,
100
105
  description: "Ignores all files and folders matching the given glob or array of globs",
101
106
  is_string: false,
@@ -1,6 +1,6 @@
1
1
  module Fastlane
2
2
  module Sentry
3
- VERSION = "1.8.3"
3
+ VERSION = "1.9.0"
4
4
  CLI_VERSION = "1.63.1"
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-sentry
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sentry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-16 00:00:00.000000000 Z
11
+ date: 2021-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -93,6 +93,7 @@ files:
93
93
  - lib/fastlane/plugin/sentry/actions/sentry_create_release.rb
94
94
  - lib/fastlane/plugin/sentry/actions/sentry_finalize_release.rb
95
95
  - lib/fastlane/plugin/sentry/actions/sentry_set_commits.rb
96
+ - lib/fastlane/plugin/sentry/actions/sentry_upload_dif.rb
96
97
  - lib/fastlane/plugin/sentry/actions/sentry_upload_dsym.rb
97
98
  - lib/fastlane/plugin/sentry/actions/sentry_upload_file.rb
98
99
  - lib/fastlane/plugin/sentry/actions/sentry_upload_proguard.rb