fastlane-plugin-sentry 2.2.0 → 2.4.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: 8e94534abf55ab666c3114f03a3a1673accc6b8990603475eefdb9d74e865f8c
4
- data.tar.gz: 3a4ab1661bd1bd22b49146edda0babb877571226c2e03cec8a627b7f2b6884d3
3
+ metadata.gz: bf7f8da1d2dd70b7fcd110726cfe74020b4ed36705421ef9b83a62e1cdd57f75
4
+ data.tar.gz: c4214983a8aad16a24638618e9a238c1869712b66739a5ce5f49a030a7705d2e
5
5
  SHA512:
6
- metadata.gz: '09a2fcb0176e61b7a544babf58dfc60d8622b684d1ef45c3670da424910bbad7d39d2e340a495fab409ba37926ff9ccea9a61f6855f490ac30e65fa1f48cc005'
7
- data.tar.gz: ca96667484f0a4501c79224966e6e48d12354006b8686119de42df26324c096b75fa6175626a3a02bb26383baeee03c4c43327e6a1bc68d71924c0b9748a2023
6
+ metadata.gz: 7430b463c741ba4442e2a16c086091c1307a746c00df43712338c46cfca783d32e5aa5537fd49220040ec277d9d7e3e0f0e6eaba36634ac64fc390a8021e9f49
7
+ data.tar.gz: 38c87c51322acf3c55b7985489c6ecd73bfc3f9d3d0e2426a5328299e3ea97520111c92c40282cadaaf760dbd9a760ee21ded7ad8892f1dee92b14269ad20ff8
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -26,15 +26,8 @@ module Fastlane
26
26
  File.absolute_path(build_path)
27
27
  ]
28
28
 
29
- # Add git-related parameters if provided
30
- command << "--head-sha" << params[:head_sha] if params[:head_sha]
31
- command << "--base-sha" << params[:base_sha] if params[:base_sha]
32
- command << "--vcs-provider" << params[:vcs_provider] if params[:vcs_provider]
33
- command << "--head-repo-name" << params[:head_repo_name] if params[:head_repo_name]
34
- command << "--base-repo-name" << params[:base_repo_name] if params[:base_repo_name]
35
- command << "--head-ref" << params[:head_ref] if params[:head_ref]
36
- command << "--base-ref" << params[:base_ref] if params[:base_ref]
37
- command << "--pr-number" << params[:pr_number] if params[:pr_number]
29
+ Helper::SentryConfig.build_vcs_command(command, params)
30
+
38
31
  command << "--build-configuration" << params[:build_configuration] if params[:build_configuration]
39
32
  command << "--release-notes" << params[:release_notes] if params[:release_notes]
40
33
 
@@ -52,9 +45,6 @@ module Fastlane
52
45
  end
53
46
  end
54
47
 
55
- command << "--force-git-metadata" if params[:force_git_metadata]
56
- command << "--no-git-metadata" if params[:no_git_metadata]
57
-
58
48
  Helper::SentryHelper.call_sentry_cli(params, command)
59
49
  UI.success("Successfully uploaded build file: #{build_path}")
60
50
 
@@ -125,47 +115,8 @@ module Fastlane
125
115
  description: "Path to dSYM file(s) for symbolication. Use when uploading IPA (IPAs typically don't embed dSYMs). Can be a path or array of paths. Defaults to DSYM_OUTPUT_PATH from lane context for iOS builds when not specified",
126
116
  optional: true,
127
117
  type: Array,
128
- skip_type_validation: true),
129
- FastlaneCore::ConfigItem.new(key: :head_sha,
130
- env_name: "SENTRY_HEAD_SHA",
131
- description: "The SHA of the head of the current branch",
132
- optional: true,
133
- is_string: true),
134
- FastlaneCore::ConfigItem.new(key: :base_sha,
135
- env_name: "SENTRY_BASE_SHA",
136
- description: "The SHA of the base branch",
137
- optional: true,
138
- is_string: true),
139
- FastlaneCore::ConfigItem.new(key: :vcs_provider,
140
- env_name: "SENTRY_VCS_PROVIDER",
141
- description: "The version control system provider (e.g., 'github', 'gitlab')",
142
- optional: true,
143
- is_string: true),
144
- FastlaneCore::ConfigItem.new(key: :head_repo_name,
145
- env_name: "SENTRY_HEAD_REPO_NAME",
146
- description: "The name of the head repository",
147
- optional: true,
148
- is_string: true),
149
- FastlaneCore::ConfigItem.new(key: :base_repo_name,
150
- env_name: "SENTRY_BASE_REPO_NAME",
151
- description: "The name of the base repository",
152
- optional: true,
153
- is_string: true),
154
- FastlaneCore::ConfigItem.new(key: :head_ref,
155
- env_name: "SENTRY_HEAD_REF",
156
- description: "The name of the head branch",
157
- optional: true,
158
- is_string: true),
159
- FastlaneCore::ConfigItem.new(key: :base_ref,
160
- env_name: "SENTRY_BASE_REF",
161
- description: "The name of the base branch",
162
- optional: true,
163
- is_string: true),
164
- FastlaneCore::ConfigItem.new(key: :pr_number,
165
- env_name: "SENTRY_PR_NUMBER",
166
- description: "The pull request number",
167
- optional: true,
168
- is_string: true),
118
+ skip_type_validation: true)
119
+ ] + Helper::SentryConfig.common_vcs_config_items + [
169
120
  FastlaneCore::ConfigItem.new(key: :build_configuration,
170
121
  env_name: "SENTRY_BUILD_CONFIGURATION",
171
122
  description: "The build configuration (e.g., 'Release', 'Debug')",
@@ -181,17 +132,7 @@ module Fastlane
181
132
  FastlaneCore::ConfigItem.new(key: :release_notes,
182
133
  description: "The release notes to use for the upload",
183
134
  optional: true,
184
- is_string: true),
185
- FastlaneCore::ConfigItem.new(key: :force_git_metadata,
186
- description: "Force collection and sending of git metadata (branch, commit, etc.). \
187
- If neither this nor --no-git-metadata is specified, git metadata is automatically \
188
- collected when running in most CI environments",
189
- is_string: false,
190
- optional: true),
191
- FastlaneCore::ConfigItem.new(key: :no_git_metadata,
192
- description: "Disable collection and sending of git metadata",
193
- is_string: false,
194
- optional: true)
135
+ is_string: true)
195
136
  ]
196
137
  end
197
138
 
@@ -0,0 +1,67 @@
1
+ module Fastlane
2
+ module Actions
3
+ class SentryUploadSnapshotsAction < Action
4
+ def self.run(params)
5
+ Helper::SentryConfig.parse_api_params(params)
6
+
7
+ path = params[:path]
8
+ app_id = params[:app_id]
9
+
10
+ UI.user_error!("Path does not exist: #{path}") unless File.exist?(path)
11
+ UI.user_error!("Path is not a directory: #{path}") unless File.directory?(path)
12
+
13
+ command = [
14
+ "build",
15
+ "snapshots",
16
+ "--app-id",
17
+ app_id,
18
+ path
19
+ ]
20
+
21
+ Helper::SentryConfig.build_vcs_command(command, params)
22
+
23
+ Helper::SentryHelper.call_sentry_cli(params, command)
24
+ UI.success("Successfully uploaded snapshots!")
25
+ end
26
+
27
+ #####################################################
28
+ # @!group Documentation
29
+ #####################################################
30
+
31
+ def self.description
32
+ "Upload snapshot images to Sentry (EXPERIMENTAL)"
33
+ end
34
+
35
+ def self.details
36
+ "This action allows you to upload snapshot images to Sentry to check for visual regressions. NOTE: This features is experimental and might be changed in future releases."
37
+ end
38
+
39
+ def self.available_options
40
+ Helper::SentryConfig.common_api_config_items + [
41
+ FastlaneCore::ConfigItem.new(key: :path,
42
+ description: "Path to the folder containing snapshot images",
43
+ optional: false,
44
+ verify_block: proc do |value|
45
+ UI.user_error! "Could not find path '#{value}'" unless File.exist?(value)
46
+ UI.user_error! "Path is not a directory: '#{value}'" unless File.directory?(value)
47
+ end),
48
+ FastlaneCore::ConfigItem.new(key: :app_id,
49
+ description: "Application identifier",
50
+ optional: false)
51
+ ] + Helper::SentryConfig.common_vcs_config_items
52
+ end
53
+
54
+ def self.return_value
55
+ nil
56
+ end
57
+
58
+ def self.authors
59
+ ["sentry"]
60
+ end
61
+
62
+ def self.is_supported?(platform)
63
+ [:ios, :android].include?(platform)
64
+ end
65
+ end
66
+ end
67
+ end
@@ -84,6 +84,75 @@ module Fastlane
84
84
  end
85
85
  end
86
86
 
87
+ def self.common_vcs_config_items
88
+ [
89
+ FastlaneCore::ConfigItem.new(key: :head_sha,
90
+ env_name: "SENTRY_HEAD_SHA",
91
+ description: "The SHA of the head of the current branch",
92
+ optional: true,
93
+ is_string: true),
94
+ FastlaneCore::ConfigItem.new(key: :base_sha,
95
+ env_name: "SENTRY_BASE_SHA",
96
+ description: "The SHA of the base branch",
97
+ optional: true,
98
+ is_string: true),
99
+ FastlaneCore::ConfigItem.new(key: :vcs_provider,
100
+ env_name: "SENTRY_VCS_PROVIDER",
101
+ description: "The version control system provider (e.g., 'github', 'gitlab')",
102
+ optional: true,
103
+ is_string: true),
104
+ FastlaneCore::ConfigItem.new(key: :head_repo_name,
105
+ env_name: "SENTRY_HEAD_REPO_NAME",
106
+ description: "The name of the head repository",
107
+ optional: true,
108
+ is_string: true),
109
+ FastlaneCore::ConfigItem.new(key: :base_repo_name,
110
+ env_name: "SENTRY_BASE_REPO_NAME",
111
+ description: "The name of the base repository",
112
+ optional: true,
113
+ is_string: true),
114
+ FastlaneCore::ConfigItem.new(key: :head_ref,
115
+ env_name: "SENTRY_HEAD_REF",
116
+ description: "The name of the head branch",
117
+ optional: true,
118
+ is_string: true),
119
+ FastlaneCore::ConfigItem.new(key: :base_ref,
120
+ env_name: "SENTRY_BASE_REF",
121
+ description: "The name of the base branch",
122
+ optional: true,
123
+ is_string: true),
124
+ FastlaneCore::ConfigItem.new(key: :pr_number,
125
+ env_name: "SENTRY_PR_NUMBER",
126
+ description: "The pull request number",
127
+ optional: true,
128
+ is_string: true),
129
+ FastlaneCore::ConfigItem.new(key: :force_git_metadata,
130
+ description: "Force collection and sending of git metadata (branch, commit, etc.). \
131
+ If neither this nor --no-git-metadata is specified, git metadata is automatically \
132
+ collected when running in most CI environments",
133
+ is_string: false,
134
+ optional: true),
135
+ FastlaneCore::ConfigItem.new(key: :no_git_metadata,
136
+ description: "Disable collection and sending of git metadata",
137
+ is_string: false,
138
+ optional: true)
139
+ ]
140
+ end
141
+
142
+ def self.build_vcs_command(command, params)
143
+ command << "--head-sha" << params[:head_sha] if params[:head_sha]
144
+ command << "--base-sha" << params[:base_sha] if params[:base_sha]
145
+ command << "--vcs-provider" << params[:vcs_provider] if params[:vcs_provider]
146
+ command << "--head-repo-name" << params[:head_repo_name] if params[:head_repo_name]
147
+ command << "--base-repo-name" << params[:base_repo_name] if params[:base_repo_name]
148
+ command << "--head-ref" << params[:head_ref] if params[:head_ref]
149
+ command << "--base-ref" << params[:base_ref] if params[:base_ref]
150
+ command << "--pr-number" << params[:pr_number] if params[:pr_number]
151
+ command << "--force-git-metadata" if params[:force_git_metadata]
152
+ command << "--no-git-metadata" if params[:no_git_metadata]
153
+ command
154
+ end
155
+
87
156
  def self.fallback_sentry_cli_auth(params)
88
157
  sentry_cli_result = JSON.parse(SentryHelper.call_sentry_cli(
89
158
  params,
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Sentry
3
- VERSION = "2.2.0"
3
+ VERSION = "2.4.0"
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.2.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sentry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-04 00:00:00.000000000 Z
11
+ date: 2026-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: os
@@ -136,6 +136,7 @@ files:
136
136
  - lib/fastlane/plugin/sentry/actions/sentry_set_commits.rb
137
137
  - lib/fastlane/plugin/sentry/actions/sentry_upload_build.rb
138
138
  - lib/fastlane/plugin/sentry/actions/sentry_upload_proguard.rb
139
+ - lib/fastlane/plugin/sentry/actions/sentry_upload_snapshots.rb
139
140
  - lib/fastlane/plugin/sentry/actions/sentry_upload_sourcemap.rb
140
141
  - lib/fastlane/plugin/sentry/helper/sentry_config.rb
141
142
  - lib/fastlane/plugin/sentry/helper/sentry_helper.rb