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 +4 -4
- data/bin/sentry-cli-Darwin-universal +0 -0
- data/bin/sentry-cli-Linux-i686 +0 -0
- data/bin/sentry-cli-Linux-x86_64 +0 -0
- data/bin/sentry-cli-Windows-i686.exe +0 -0
- data/bin/sentry-cli-Windows-x86_64.exe +0 -0
- data/lib/fastlane/plugin/sentry/actions/sentry_upload_build.rb +5 -64
- data/lib/fastlane/plugin/sentry/actions/sentry_upload_snapshots.rb +67 -0
- data/lib/fastlane/plugin/sentry/helper/sentry_config.rb +69 -0
- data/lib/fastlane/plugin/sentry/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bf7f8da1d2dd70b7fcd110726cfe74020b4ed36705421ef9b83a62e1cdd57f75
|
|
4
|
+
data.tar.gz: c4214983a8aad16a24638618e9a238c1869712b66739a5ce5f49a030a7705d2e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7430b463c741ba4442e2a16c086091c1307a746c00df43712338c46cfca783d32e5aa5537fd49220040ec277d9d7e3e0f0e6eaba36634ac64fc390a8021e9f49
|
|
7
|
+
data.tar.gz: 38c87c51322acf3c55b7985489c6ecd73bfc3f9d3d0e2426a5328299e3ea97520111c92c40282cadaaf760dbd9a760ee21ded7ad8892f1dee92b14269ad20ff8
|
|
Binary file
|
data/bin/sentry-cli-Linux-i686
CHANGED
|
Binary file
|
data/bin/sentry-cli-Linux-x86_64
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -26,15 +26,8 @@ module Fastlane
|
|
|
26
26
|
File.absolute_path(build_path)
|
|
27
27
|
]
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
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,
|
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.
|
|
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-
|
|
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
|