fastlane-plugin-sentry 2.0.0.pre.rc.2 → 2.0.0.pre.rc.3
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 +4 -4
- data/README.md +16 -16
- data/lib/fastlane/plugin/sentry/actions/sentry_upload_build.rb +75 -10
- data/lib/fastlane/plugin/sentry/version.rb +1 -1
- metadata +18 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e6d898a96e5cba9c1f0ef21a634d532e1531d145b8b6e103dc826aa3fac68ce5
|
|
4
|
+
data.tar.gz: 9a05e113787d31f252503e866463da7be44b865b010ef555adcfc8945e1b1db8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d4b1f68f9af29e58f7f0660fc21673a35db58004f6e79bab29dc5bab57464250b2b16797f59b10d16a83239f8f8c72ef407289107030c72f420f5d22bca908a9
|
|
7
|
+
data.tar.gz: 33e74b3f2a3062c729f76aa39e473ca2b281ab12c01240ee033fd0a3abe1858bfb70412d8ed38ffb814e659485dbe809346270102f2bcd8fd143e88a55f56fcc
|
data/README.md
CHANGED
|
@@ -70,20 +70,20 @@ The `SENTRY_DSYM_PATH` environment variable may be used in place of the `dsym_pa
|
|
|
70
70
|
|
|
71
71
|
Further options:
|
|
72
72
|
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
73
|
+
- **type**: Optional. Only consider debug information files of the given type. By default, all types are considered. Valid options: 'bcsymbolmap', 'breakpad', 'dsym', 'elf', 'jvm', 'pdb', 'pe', 'portablepdb', 'sourcebundle', 'wasm'.
|
|
74
|
+
- **no_unwind**: Optional. Do not scan for stack unwinding information. Specify this flag for builds with disabled FPO, or when stackwalking occurs on the device. This usually excludes executables and dynamic libraries. They might still be uploaded, if they contain additional processable information (see other flags).
|
|
75
|
+
- **no_debug**: Optional. Do not scan for debugging information. This will usually exclude debug companion files. They might still be uploaded, if they contain additional processable information (see other flags).
|
|
76
|
+
- **no_sources**: Optional. Do not scan for source information. This will usually exclude source bundle files. They might still be uploaded, if they contain additional processable information (see other flags).
|
|
77
|
+
- **id**: Optional. Search for specific debug identifiers.
|
|
78
|
+
- **require_all**: Optional. Errors if not all identifiers specified with --id could be found.
|
|
79
|
+
- **symbol_maps**: Optional. Path to BCSymbolMap files which are used to resolve hidden symbols in dSYM files downloaded from iTunes Connect. This requires the dsymutil tool to be available.
|
|
80
|
+
- **derived_data**: Optional. Search for debug symbols in Xcode's derived data.
|
|
81
|
+
- **no_zips**: Optional. Do not search in ZIP files.
|
|
82
|
+
- **no_upload**: Optional. Disable the actual upload. This runs all steps for the processing but does not trigger the upload. This is useful if you just want to verify the setup or skip the upload in tests.
|
|
83
|
+
- **include_sources**: Optional. Include sources from the local file system and upload them as source bundles.
|
|
84
|
+
- **wait**: Optional. Wait for the server to fully process uploaded files. Errors can only be displayed if --wait or --wait-for is specified, but this will significantly slow down the upload process.
|
|
85
|
+
- **wait_for**: Optional. Wait for the server to fully process uploaded files, but at most for the given number of seconds. Errors can only be displayed if --wait or --wait-for is specified, but this will significantly slow down the upload process.
|
|
86
|
+
- **il2cpp_mapping**: Optional. Compute il2cpp line mappings and upload them along with sources.
|
|
87
87
|
|
|
88
88
|
### Uploading iOS Build Archives
|
|
89
89
|
|
|
@@ -241,7 +241,7 @@ When upgrading to the latest version of this plugin (which uses sentry-cli v3),
|
|
|
241
241
|
```ruby
|
|
242
242
|
# Before
|
|
243
243
|
sentry_debug_files_upload(ids: 'abc123')
|
|
244
|
-
|
|
244
|
+
|
|
245
245
|
# After
|
|
246
246
|
sentry_debug_files_upload(id: 'abc123')
|
|
247
247
|
```
|
|
@@ -252,7 +252,7 @@ When upgrading to the latest version of this plugin (which uses sentry-cli v3),
|
|
|
252
252
|
```ruby
|
|
253
253
|
# Before v2.0.0-rc.1
|
|
254
254
|
sentry_debug_files_upload(api_key: '...')
|
|
255
|
-
|
|
255
|
+
|
|
256
256
|
# After v2.0.0-rc.1
|
|
257
257
|
sentry_debug_files_upload(auth_token: '...')
|
|
258
258
|
```
|
|
@@ -4,15 +4,43 @@ module Fastlane
|
|
|
4
4
|
def self.run(params)
|
|
5
5
|
Helper::SentryConfig.parse_api_params(params)
|
|
6
6
|
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
# Determine which build file path to use (conflicting_options handles mutual exclusivity)
|
|
8
|
+
build_path = nil
|
|
9
|
+
build_type = nil
|
|
10
|
+
|
|
11
|
+
if params[:xcarchive_path]
|
|
12
|
+
build_path = params[:xcarchive_path]
|
|
13
|
+
build_type = :xcarchive
|
|
14
|
+
elsif params[:apk_path]
|
|
15
|
+
build_path = params[:apk_path]
|
|
16
|
+
build_type = :apk
|
|
17
|
+
elsif params[:aab_path]
|
|
18
|
+
build_path = params[:aab_path]
|
|
19
|
+
build_type = :aab
|
|
20
|
+
elsif params[:ipa_path]
|
|
21
|
+
build_path = params[:ipa_path]
|
|
22
|
+
build_type = :ipa
|
|
23
|
+
else
|
|
24
|
+
UI.user_error!("One of xcarchive_path, apk_path, aab_path, or ipa_path must be provided")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
UI.user_error!("Could not find build file at path '#{build_path}'") unless File.exist?(build_path)
|
|
28
|
+
|
|
29
|
+
case build_type
|
|
30
|
+
when :xcarchive
|
|
31
|
+
UI.user_error!("Path '#{build_path}' is not an xcarchive") unless File.extname(build_path) == '.xcarchive'
|
|
32
|
+
when :apk
|
|
33
|
+
UI.user_error!("Path '#{build_path}' is not an APK") unless File.extname(build_path).casecmp('.apk').zero?
|
|
34
|
+
when :aab
|
|
35
|
+
UI.user_error!("Path '#{build_path}' is not an AAB") unless File.extname(build_path).casecmp('.aab').zero?
|
|
36
|
+
when :ipa
|
|
37
|
+
UI.user_error!("Path '#{build_path}' is not an IPA") unless File.extname(build_path).casecmp('.ipa').zero?
|
|
38
|
+
end
|
|
11
39
|
|
|
12
40
|
command = [
|
|
13
41
|
"build",
|
|
14
42
|
"upload",
|
|
15
|
-
File.absolute_path(
|
|
43
|
+
File.absolute_path(build_path)
|
|
16
44
|
]
|
|
17
45
|
|
|
18
46
|
# Add git-related parameters if provided
|
|
@@ -30,7 +58,7 @@ module Fastlane
|
|
|
30
58
|
command << "--no-git-metadata" if params[:no_git_metadata]
|
|
31
59
|
|
|
32
60
|
Helper::SentryHelper.call_sentry_cli(params, command)
|
|
33
|
-
UI.success("Successfully uploaded build
|
|
61
|
+
UI.success("Successfully uploaded build file: #{build_path}")
|
|
34
62
|
end
|
|
35
63
|
|
|
36
64
|
#####################################################
|
|
@@ -38,22 +66,59 @@ module Fastlane
|
|
|
38
66
|
#####################################################
|
|
39
67
|
|
|
40
68
|
def self.description
|
|
41
|
-
"Upload iOS
|
|
69
|
+
"Upload build files (iOS .xcarchive/.ipa or Android .apk/.aab) to Sentry with optional git context"
|
|
42
70
|
end
|
|
43
71
|
|
|
44
72
|
def self.details
|
|
45
|
-
"This action allows you to upload iOS build archives (.xcarchive)
|
|
73
|
+
"This action allows you to upload build files to Sentry. Supported formats include iOS build archives (.xcarchive), iOS app bundles (.ipa), Android APK files (.apk), and Android App Bundles (.aab). The action supports optional git-related parameters for enhanced context including commit SHAs, branch names, repository information, and pull request details."
|
|
46
74
|
end
|
|
47
75
|
|
|
48
76
|
def self.available_options
|
|
49
77
|
Helper::SentryConfig.common_api_config_items + [
|
|
50
78
|
FastlaneCore::ConfigItem.new(key: :xcarchive_path,
|
|
51
|
-
description: "Path to your iOS build archive (.xcarchive)",
|
|
79
|
+
description: "Path to your iOS build archive (.xcarchive). Mutually exclusive with apk_path, aab_path, and ipa_path",
|
|
52
80
|
default_value: Actions.lane_context[SharedValues::XCODEBUILD_ARCHIVE],
|
|
81
|
+
optional: true,
|
|
82
|
+
conflicting_options: [:apk_path, :aab_path, :ipa_path],
|
|
53
83
|
verify_block: proc do |value|
|
|
84
|
+
next if value.nil? || value.to_s.empty?
|
|
85
|
+
|
|
54
86
|
UI.user_error!("Could not find xcarchive at path '#{value}'") unless File.exist?(value)
|
|
55
87
|
UI.user_error!("Path '#{value}' is not an xcarchive") unless File.extname(value) == '.xcarchive'
|
|
56
88
|
end),
|
|
89
|
+
FastlaneCore::ConfigItem.new(key: :apk_path,
|
|
90
|
+
description: "Path to your Android APK file (.apk). Mutually exclusive with xcarchive_path, aab_path, and ipa_path",
|
|
91
|
+
default_value: Actions.lane_context[SharedValues::GRADLE_APK_OUTPUT_PATH],
|
|
92
|
+
optional: true,
|
|
93
|
+
conflicting_options: [:xcarchive_path, :aab_path, :ipa_path],
|
|
94
|
+
verify_block: proc do |value|
|
|
95
|
+
next if value.nil? || value.to_s.empty?
|
|
96
|
+
|
|
97
|
+
UI.user_error!("Could not find APK at path '#{value}'") unless File.exist?(value)
|
|
98
|
+
UI.user_error!("Path '#{value}' is not an APK") unless File.extname(value).casecmp('.apk').zero?
|
|
99
|
+
end),
|
|
100
|
+
FastlaneCore::ConfigItem.new(key: :aab_path,
|
|
101
|
+
description: "Path to your Android App Bundle (.aab). Mutually exclusive with xcarchive_path, apk_path, and ipa_path",
|
|
102
|
+
default_value: Actions.lane_context[SharedValues::GRADLE_AAB_OUTPUT_PATH],
|
|
103
|
+
optional: true,
|
|
104
|
+
conflicting_options: [:xcarchive_path, :apk_path, :ipa_path],
|
|
105
|
+
verify_block: proc do |value|
|
|
106
|
+
next if value.nil? || value.to_s.empty?
|
|
107
|
+
|
|
108
|
+
UI.user_error!("Could not find AAB at path '#{value}'") unless File.exist?(value)
|
|
109
|
+
UI.user_error!("Path '#{value}' is not an AAB") unless File.extname(value).casecmp('.aab').zero?
|
|
110
|
+
end),
|
|
111
|
+
FastlaneCore::ConfigItem.new(key: :ipa_path,
|
|
112
|
+
description: "Path to your iOS app bundle (.ipa). Mutually exclusive with xcarchive_path, apk_path, and aab_path",
|
|
113
|
+
default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
|
|
114
|
+
optional: true,
|
|
115
|
+
conflicting_options: [:xcarchive_path, :apk_path, :aab_path],
|
|
116
|
+
verify_block: proc do |value|
|
|
117
|
+
next if value.nil? || value.to_s.empty?
|
|
118
|
+
|
|
119
|
+
UI.user_error!("Could not find IPA at path '#{value}'") unless File.exist?(value)
|
|
120
|
+
UI.user_error!("Path '#{value}' is not an IPA") unless File.extname(value).casecmp('.ipa').zero?
|
|
121
|
+
end),
|
|
57
122
|
FastlaneCore::ConfigItem.new(key: :head_sha,
|
|
58
123
|
env_name: "SENTRY_HEAD_SHA",
|
|
59
124
|
description: "The SHA of the head of the current branch",
|
|
@@ -125,7 +190,7 @@ module Fastlane
|
|
|
125
190
|
end
|
|
126
191
|
|
|
127
192
|
def self.is_supported?(platform)
|
|
128
|
-
[:ios].include?(platform)
|
|
193
|
+
[:ios, :android].include?(platform)
|
|
129
194
|
end
|
|
130
195
|
end
|
|
131
196
|
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: 2.0.0.pre.rc.
|
|
4
|
+
version: 2.0.0.pre.rc.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sentry
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-01-
|
|
11
|
+
date: 2026-01-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: os
|
|
@@ -100,6 +100,20 @@ dependencies:
|
|
|
100
100
|
- - ">="
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
102
|
version: '0'
|
|
103
|
+
- !ruby/object:Gem::Dependency
|
|
104
|
+
name: rubocop-rspec
|
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
110
|
+
type: :development
|
|
111
|
+
prerelease: false
|
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0'
|
|
103
117
|
description:
|
|
104
118
|
email: hello@sentry.io
|
|
105
119
|
executables: []
|
|
@@ -129,7 +143,8 @@ files:
|
|
|
129
143
|
homepage: https://github.com/getsentry/sentry-fastlane-plugin
|
|
130
144
|
licenses:
|
|
131
145
|
- MIT
|
|
132
|
-
metadata:
|
|
146
|
+
metadata:
|
|
147
|
+
rubygems_mfa_required: 'true'
|
|
133
148
|
post_install_message:
|
|
134
149
|
rdoc_options: []
|
|
135
150
|
require_paths:
|