fastlane-plugin-sentry 1.8.1 → 1.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +46 -1
- data/lib/fastlane/plugin/sentry/actions/sentry_check_cli_installed.rb +37 -0
- data/lib/fastlane/plugin/sentry/actions/sentry_create_deploy.rb +100 -0
- data/lib/fastlane/plugin/sentry/actions/sentry_create_release.rb +12 -8
- data/lib/fastlane/plugin/sentry/actions/sentry_finalize_release.rb +5 -1
- data/lib/fastlane/plugin/sentry/actions/sentry_set_commits.rb +5 -0
- data/lib/fastlane/plugin/sentry/actions/sentry_upload_dif.rb +165 -0
- data/lib/fastlane/plugin/sentry/actions/sentry_upload_file.rb +13 -8
- data/lib/fastlane/plugin/sentry/actions/sentry_upload_sourcemap.rb +13 -8
- data/lib/fastlane/plugin/sentry/helper/sentry_config.rb +1 -1
- data/lib/fastlane/plugin/sentry/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eeb54cbb7cb68c15aa862be7d5cd184eb17b3094259506b567a4e0063a746355
|
4
|
+
data.tar.gz: e6e1da94a7281cb8764c9206eb560072c8105d1652abc2a84442a8fbac97f3a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a62afff2c359f21dd6454906faf5e87382d0aed9dcb9eaf16de9d172abd98cb2eac4244de45a5ff30ced65ea8489598490c056b3ecff65f9107f119de0d69b1
|
7
|
+
data.tar.gz: 5688c994bd61392ff490715d03241f086a808018f7fe02f3b5be38e2c73e91259eee8ca319a1b309b1949edd63487e2f70e229b5818c73e442e62bae0406d655
|
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' # Optional. Well default to '.' when no value is provided.
|
118
|
+
)
|
119
|
+
```
|
120
|
+
|
107
121
|
#### Associating commits
|
108
122
|
|
109
123
|
Useful for telling Sentry which commits are associated with a release.
|
@@ -112,12 +126,43 @@ 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
|
118
133
|
)
|
119
134
|
```
|
120
135
|
|
136
|
+
#### Create deploy
|
137
|
+
|
138
|
+
Creates a new release deployment for a project on Sentry.
|
139
|
+
|
140
|
+
```ruby
|
141
|
+
sentry_create_deploy(
|
142
|
+
api_key: '...', # Do not use if using auth_token
|
143
|
+
auth_token: '...', # Do not use if using api_key
|
144
|
+
org_slug: '...',
|
145
|
+
project_slug: '...',
|
146
|
+
version: '...',
|
147
|
+
app_identifier: '...', # pass in the bundle_identifer of your app
|
148
|
+
build: '...', # Optionally pass in the build number of your app
|
149
|
+
env: 'staging', # The environment for this deploy. Required.
|
150
|
+
name: '...', # Optional human readable name
|
151
|
+
deploy_url: '...', # Optional URL that points to the deployment
|
152
|
+
started: 1622630647, # Optional unix timestamp when the deployment started
|
153
|
+
finished: 1622630700, # Optional unix timestamp when the deployment finished
|
154
|
+
time: 180 # Optional deployment duration in seconds. This can be specified alternatively to `started` and `finished`
|
155
|
+
)
|
156
|
+
```
|
157
|
+
|
158
|
+
#### Checking the sentry-cli is installed
|
159
|
+
|
160
|
+
Useful for checking that the sentry-cli is installed and meets the minimum version requirements before starting to build your app in your lane.
|
161
|
+
|
162
|
+
```ruby
|
163
|
+
sentry_check_cli_installed()
|
164
|
+
```
|
165
|
+
|
121
166
|
## Issues and Feedback
|
122
167
|
|
123
168
|
For any other issues and feedback about this plugin, please submit it to this repository.
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class SentryCheckCliInstalledAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
Helper::SentryHelper.check_sentry_cli!
|
6
|
+
UI.success("Successfully checked that sentry-cli is installed")
|
7
|
+
end
|
8
|
+
|
9
|
+
#####################################################
|
10
|
+
# @!group Documentation
|
11
|
+
#####################################################
|
12
|
+
|
13
|
+
def self.description
|
14
|
+
"Checks that sentry-cli with the correct version is installed"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.details
|
18
|
+
[
|
19
|
+
"This action checks that the senty-cli is installed and meets the mimum verson requirements.",
|
20
|
+
"You can use it at the start of your lane to ensure that sentry-cli is correctly installed."
|
21
|
+
].join(" ")
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.return_value
|
25
|
+
nil
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.authors
|
29
|
+
["matt-oakes"]
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.is_supported?(platform)
|
33
|
+
true
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,100 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class SentryCreateDeployAction < 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
|
+
version = params[:version]
|
11
|
+
version = "#{params[:app_identifier]}@#{params[:version]}" if params[:app_identifier]
|
12
|
+
version = "#{version}+#{params[:build]}" if params[:build]
|
13
|
+
|
14
|
+
command = [
|
15
|
+
"sentry-cli",
|
16
|
+
"releases",
|
17
|
+
"deploys",
|
18
|
+
version,
|
19
|
+
"new"
|
20
|
+
]
|
21
|
+
command.push('--env').push(params[:env]) unless params[:env].nil?
|
22
|
+
command.push('--name').push(params[:name]) unless params[:name].nil?
|
23
|
+
command.push('--url').push(params[:deploy_url]) unless params[:deploy_url].nil?
|
24
|
+
command.push('--started').push(params[:started]) unless params[:started].nil?
|
25
|
+
command.push('--finished').push(params[:finished]) unless params[:finished].nil?
|
26
|
+
command.push('--time').push(params[:time]) unless params[:time].nil?
|
27
|
+
|
28
|
+
Helper::SentryHelper.call_sentry_cli(command)
|
29
|
+
UI.success("Successfully created deploy: #{version}")
|
30
|
+
end
|
31
|
+
|
32
|
+
#####################################################
|
33
|
+
# @!group Documentation
|
34
|
+
#####################################################
|
35
|
+
|
36
|
+
def self.description
|
37
|
+
"Creates a new release deployment for a project on Sentry"
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.details
|
41
|
+
[
|
42
|
+
"This action allows you to associate deploys to releases for a project on Sentry.",
|
43
|
+
"See https://docs.sentry.io/product/cli/releases/#creating-deploys for more information."
|
44
|
+
].join(" ")
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.available_options
|
48
|
+
Helper::SentryConfig.common_api_config_items + [
|
49
|
+
FastlaneCore::ConfigItem.new(key: :version,
|
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),
|
60
|
+
FastlaneCore::ConfigItem.new(key: :env,
|
61
|
+
short_option: "-e",
|
62
|
+
description: "Set the environment for this release. This argument is required. Values that make sense here would be 'production' or 'staging'",
|
63
|
+
optional: false),
|
64
|
+
FastlaneCore::ConfigItem.new(key: :name,
|
65
|
+
short_option: "-n",
|
66
|
+
description: "Optional human readable name for this deployment",
|
67
|
+
optional: true),
|
68
|
+
FastlaneCore::ConfigItem.new(key: :deploy_url,
|
69
|
+
description: "Optional URL that points to the deployment",
|
70
|
+
optional: true),
|
71
|
+
FastlaneCore::ConfigItem.new(key: :started,
|
72
|
+
description: "Optional unix timestamp when the deployment started",
|
73
|
+
is_string: false,
|
74
|
+
optional: true),
|
75
|
+
FastlaneCore::ConfigItem.new(key: :finished,
|
76
|
+
description: "Optional unix timestamp when the deployment finished",
|
77
|
+
is_string: false,
|
78
|
+
optional: true),
|
79
|
+
FastlaneCore::ConfigItem.new(key: :time,
|
80
|
+
short_option: "-t",
|
81
|
+
description: "Optional deployment duration in seconds. This can be specified alternatively to `started` and `finished`",
|
82
|
+
is_string: false,
|
83
|
+
optional: true)
|
84
|
+
]
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.return_value
|
88
|
+
nil
|
89
|
+
end
|
90
|
+
|
91
|
+
def self.authors
|
92
|
+
["denrase"]
|
93
|
+
end
|
94
|
+
|
95
|
+
def self.is_supported?(platform)
|
96
|
+
true
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
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",
|
@@ -16,7 +17,7 @@ module Fastlane
|
|
16
17
|
"new",
|
17
18
|
version
|
18
19
|
]
|
19
|
-
command.push("--finalize") if params[:finalize]
|
20
|
+
command.push("--finalize") if params[:finalize] == true
|
20
21
|
|
21
22
|
Helper::SentryHelper.call_sentry_cli(command)
|
22
23
|
UI.success("Successfully created release: #{version}")
|
@@ -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,165 @@
|
|
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
|
+
path = '.' if path.nil?
|
12
|
+
|
13
|
+
command = [
|
14
|
+
"sentry-cli",
|
15
|
+
"upload-dif",
|
16
|
+
path
|
17
|
+
]
|
18
|
+
command.push('--type').push(params[:type]) unless params[:type].nil?
|
19
|
+
command.push('--no_unwind') unless params[:no_unwind].nil?
|
20
|
+
command.push('--no_debug') unless params[:no_debug].nil?
|
21
|
+
command.push('--no_sources') unless params[:no_sources].nil?
|
22
|
+
command.push('--ids').push(params[:ids]) unless params[:ids].nil?
|
23
|
+
command.push('--require_all') unless params[:require_all].nil?
|
24
|
+
command.push('--symbol_maps').push(params[:symbol_maps]) unless params[:symbol_maps].nil?
|
25
|
+
command.push('--derived_data') unless params[:derived_data].nil?
|
26
|
+
command.push('--no_zips') unless params[:no_zips].nil?
|
27
|
+
command.push('--info_plist').push(params[:info_plist]) unless params[:info_plist].nil?
|
28
|
+
command.push('--no_reprocessing') unless params[:no_reprocessing].nil?
|
29
|
+
command.push('--force_foreground') unless params[:force_foreground].nil?
|
30
|
+
command.push('--include_sources') unless params[:include_sources].nil?
|
31
|
+
command.push('--wait') unless params[:wait].nil?
|
32
|
+
command.push('--upload_symbol_maps') unless params[:upload_symbol_maps].nil?
|
33
|
+
|
34
|
+
Helper::SentryHelper.call_sentry_cli(command)
|
35
|
+
UI.success("Successfully ran upload-dif")
|
36
|
+
end
|
37
|
+
|
38
|
+
#####################################################
|
39
|
+
# @!group Documentation
|
40
|
+
#####################################################
|
41
|
+
|
42
|
+
def self.description
|
43
|
+
"Upload debugging information files."
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.details
|
47
|
+
[
|
48
|
+
"Files can be uploaded using the upload-dif command. This command will scan a given folder recursively for files and upload them to Sentry.",
|
49
|
+
"See https://docs.sentry.io/product/cli/dif/#uploading-files for more information."
|
50
|
+
].join(" ")
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.available_options
|
54
|
+
Helper::SentryConfig.common_api_config_items + [
|
55
|
+
FastlaneCore::ConfigItem.new(key: :path,
|
56
|
+
description: "A path to search recursively for symbol files",
|
57
|
+
optional: true),
|
58
|
+
FastlaneCore::ConfigItem.new(key: :type,
|
59
|
+
short_option: "-t",
|
60
|
+
description: "Only consider debug information files of the given \
|
61
|
+
type. By default, all types are considered",
|
62
|
+
optional: true,
|
63
|
+
verify_block: proc do |value|
|
64
|
+
UI.user_error! "Invalid value '#{value}'" unless ['dsym', 'elf', 'breakpad', 'pdb', 'pe', 'sourcebundle', 'bcsymbolmap'].include? value
|
65
|
+
end),
|
66
|
+
FastlaneCore::ConfigItem.new(key: :no_unwind,
|
67
|
+
description: "Do not scan for stack unwinding information. Specify \
|
68
|
+
this flag for builds with disabled FPO, or when \
|
69
|
+
stackwalking occurs on the device. This usually \
|
70
|
+
excludes executables and dynamic libraries. They might \
|
71
|
+
still be uploaded, if they contain additional \
|
72
|
+
processable information (see other flags)",
|
73
|
+
is_string: false,
|
74
|
+
optional: true),
|
75
|
+
FastlaneCore::ConfigItem.new(key: :no_debug,
|
76
|
+
description: "Do not scan for debugging information. This will \
|
77
|
+
usually exclude debug companion files. They might \
|
78
|
+
still be uploaded, if they contain additional \
|
79
|
+
processable information (see other flags)",
|
80
|
+
conflicting_options: [:no_unwind],
|
81
|
+
is_string: false,
|
82
|
+
optional: true),
|
83
|
+
FastlaneCore::ConfigItem.new(key: :no_sources,
|
84
|
+
description: "Do not scan for source information. This will \
|
85
|
+
usually exclude source bundle files. They might \
|
86
|
+
still be uploaded, if they contain additional \
|
87
|
+
processable information (see other flags)",
|
88
|
+
is_string: false,
|
89
|
+
optional: true),
|
90
|
+
FastlaneCore::ConfigItem.new(key: :ids,
|
91
|
+
description: "Search for specific debug identifiers",
|
92
|
+
optional: true),
|
93
|
+
FastlaneCore::ConfigItem.new(key: :require_all,
|
94
|
+
description: "Errors if not all identifiers specified with --id could be found",
|
95
|
+
is_string: false,
|
96
|
+
optional: true),
|
97
|
+
FastlaneCore::ConfigItem.new(key: :symbol_maps,
|
98
|
+
description: "Optional path to BCSymbolMap files which are used to \
|
99
|
+
resolve hidden symbols in dSYM files downloaded from \
|
100
|
+
iTunes Connect. This requires the dsymutil tool to be \
|
101
|
+
available",
|
102
|
+
optional: true),
|
103
|
+
FastlaneCore::ConfigItem.new(key: :derived_data,
|
104
|
+
description: "Search for debug symbols in Xcode's derived data",
|
105
|
+
is_string: false,
|
106
|
+
optional: true),
|
107
|
+
FastlaneCore::ConfigItem.new(key: :no_zips,
|
108
|
+
description: "Do not search in ZIP files",
|
109
|
+
is_string: false,
|
110
|
+
optional: true),
|
111
|
+
FastlaneCore::ConfigItem.new(key: :info_plist,
|
112
|
+
description: "Optional path to the Info.plist.{n}We will try to find this \
|
113
|
+
automatically if run from Xcode. Providing this information \
|
114
|
+
will associate the debug symbols with a specific ITC application \
|
115
|
+
and build in Sentry. Note that if you provide the plist \
|
116
|
+
explicitly it must already be processed",
|
117
|
+
optional: true),
|
118
|
+
FastlaneCore::ConfigItem.new(key: :no_reprocessing,
|
119
|
+
description: "Do not trigger reprocessing after uploading",
|
120
|
+
is_string: false,
|
121
|
+
optional: true),
|
122
|
+
FastlaneCore::ConfigItem.new(key: :force_foreground,
|
123
|
+
description: "Wait for the process to finish.{n}\
|
124
|
+
By default, the upload process will detach and continue in the \
|
125
|
+
background when triggered from Xcode. When an error happens, \
|
126
|
+
a dialog is shown. If this parameter is passed Xcode will wait \
|
127
|
+
for the process to finish before the build finishes and output \
|
128
|
+
will be shown in the Xcode build output",
|
129
|
+
is_string: false,
|
130
|
+
optional: true),
|
131
|
+
FastlaneCore::ConfigItem.new(key: :include_sources,
|
132
|
+
description: "Include sources from the local file system and upload \
|
133
|
+
them as source bundles",
|
134
|
+
is_string: false,
|
135
|
+
optional: true),
|
136
|
+
FastlaneCore::ConfigItem.new(key: :wait,
|
137
|
+
description: "Wait for the server to fully process uploaded files. Errors \
|
138
|
+
can only be displayed if --wait is specified, but this will \
|
139
|
+
significantly slow down the upload process",
|
140
|
+
is_string: false,
|
141
|
+
optional: true),
|
142
|
+
FastlaneCore::ConfigItem.new(key: :upload_symbol_maps,
|
143
|
+
description: "Upload any BCSymbolMap files found to allow Sentry to resolve \
|
144
|
+
hidden symbols, e.g. when it downloads dSYMs directly from App \
|
145
|
+
Store Connect or when you upload dSYMs without first resolving \
|
146
|
+
the hidden symbols using --symbol-maps",
|
147
|
+
is_string: false,
|
148
|
+
optional: true),
|
149
|
+
]
|
150
|
+
end
|
151
|
+
|
152
|
+
def self.return_value
|
153
|
+
nil
|
154
|
+
end
|
155
|
+
|
156
|
+
def self.authors
|
157
|
+
["denrase"]
|
158
|
+
end
|
159
|
+
|
160
|
+
def self.is_supported?(platform)
|
161
|
+
true
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
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",
|
@@ -23,7 +24,7 @@ module Fastlane
|
|
23
24
|
|
24
25
|
command.push('--rewrite') if params[:rewrite]
|
25
26
|
command.push('--no-rewrite') unless params[:rewrite]
|
26
|
-
command.push('--strip-prefix') if params[:strip_prefix]
|
27
|
+
command.push('--strip-prefix').push(params[:strip_prefix]) if params[:strip_prefix]
|
27
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?
|
@@ -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,
|
@@ -42,7 +42,7 @@ module Fastlane
|
|
42
42
|
has_auth_token = !auth_token.to_s.empty?
|
43
43
|
|
44
44
|
ENV['SENTRY_URL'] = url unless url.to_s.empty?
|
45
|
-
ENV['SENTRY_LOG_LEVEL'] = '
|
45
|
+
ENV['SENTRY_LOG_LEVEL'] = 'DEBUG' if FastlaneCore::Globals.verbose?
|
46
46
|
|
47
47
|
# Fallback to .sentryclirc if possible when no auth token is provided
|
48
48
|
if !has_api_key && !has_auth_token && fallback_sentry_cli_auth
|
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.
|
4
|
+
version: 1.10.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-
|
11
|
+
date: 2021-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -89,9 +89,12 @@ files:
|
|
89
89
|
- LICENSE
|
90
90
|
- README.md
|
91
91
|
- lib/fastlane/plugin/sentry.rb
|
92
|
+
- lib/fastlane/plugin/sentry/actions/sentry_check_cli_installed.rb
|
93
|
+
- lib/fastlane/plugin/sentry/actions/sentry_create_deploy.rb
|
92
94
|
- lib/fastlane/plugin/sentry/actions/sentry_create_release.rb
|
93
95
|
- lib/fastlane/plugin/sentry/actions/sentry_finalize_release.rb
|
94
96
|
- lib/fastlane/plugin/sentry/actions/sentry_set_commits.rb
|
97
|
+
- lib/fastlane/plugin/sentry/actions/sentry_upload_dif.rb
|
95
98
|
- lib/fastlane/plugin/sentry/actions/sentry_upload_dsym.rb
|
96
99
|
- lib/fastlane/plugin/sentry/actions/sentry_upload_file.rb
|
97
100
|
- lib/fastlane/plugin/sentry/actions/sentry_upload_proguard.rb
|
@@ -118,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
121
|
- !ruby/object:Gem::Version
|
119
122
|
version: '0'
|
120
123
|
requirements: []
|
121
|
-
rubygems_version: 3.
|
124
|
+
rubygems_version: 3.1.6
|
122
125
|
signing_key:
|
123
126
|
specification_version: 4
|
124
127
|
summary: Upload symbols to Sentry
|