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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f919f1108badfed572f27376653c95d03a7762c8b71f08a66f7af7c2ef61879
4
- data.tar.gz: 61a2a871df259b2272d284852fd5a9d8b1fd8e1e8ea5e98c6016c383f3873981
3
+ metadata.gz: e6d898a96e5cba9c1f0ef21a634d532e1531d145b8b6e103dc826aa3fac68ce5
4
+ data.tar.gz: 9a05e113787d31f252503e866463da7be44b865b010ef555adcfc8945e1b1db8
5
5
  SHA512:
6
- metadata.gz: ff423c97bf0994307249576df7c7376abac551fa24d778dfd5fba56bc0de9aa5541f046136dfa470dce7f95d69ec94b094998aa7f52c4fe347c2b1795d719ae0
7
- data.tar.gz: 0e76c6b8f118e0e1d1acced3f8f35e182a076b1f09f38b4c4a3762c32f356c14ce769a780c13a46becfb83373f6494696c7c7b1d0092e1e0275252db8ae344ae
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
- - __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.
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
- # Verify xcarchive path
8
- xcarchive_path = params[:xcarchive_path]
9
- UI.user_error!("Could not find xcarchive at path '#{xcarchive_path}'") unless File.exist?(xcarchive_path)
10
- UI.user_error!("Path '#{xcarchive_path}' is not an xcarchive") unless File.extname(xcarchive_path) == '.xcarchive'
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(xcarchive_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 archive: #{xcarchive_path}")
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 build archive to Sentry with optional git context"
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) to Sentry with optional git-related parameters for enhanced context including commit SHAs, branch names, repository information, and pull request details."
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
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Sentry
3
- VERSION = "2.0.0-rc.2"
3
+ VERSION = "2.0.0-rc.3"
4
4
  end
5
5
  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.2
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-19 00:00:00.000000000 Z
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: