fastlane-plugin-sentry 1.8.3 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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