fastlane-plugin-lambdatest 0.1.5 → 0.1.7

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: f9cd7ca178c79331ec23fa7e000a64945577cb9a899e11ee0e48266c671b5afe
4
- data.tar.gz: dcb3040feafc253227d43da92ea3476db117805c3b90c4c0356a991fb5f2f164
3
+ metadata.gz: 501c228df465d9f98a2f0d2b910c4ae7e33e99c34588b424f3a1e82ccc25e408
4
+ data.tar.gz: c25660a6bfd570b35147278f622bdf497440a82da0463ef2cb37055058c8fb92
5
5
  SHA512:
6
- metadata.gz: fe58dcb0ca287018563a692ae5581a4200dc871a916bfdc608df1904dcfe68796a5f96177b1d440b1ce8104ea59086649bd7830ec34f2f574d6f369ff090bc02
7
- data.tar.gz: bf519cba62ed920c4d0157e97f44625f055f3890c6d9cdb9cca738cd762e0435494a512b926f16a84b6b99b77cf265294a659bf8fc0290ba5d90c6acd38b33b7
6
+ metadata.gz: e67aeaac7036975149b7cec1cdef6316a552dea5a1c4abdc0f746b119ca75ce5c15d64d3a3cce4ce891f7d0d714bcd9777e005da0119451ccbb82bf0b6e5c346
7
+ data.tar.gz: 80e28d670f082e156c8bc530bf9aa92b7a22cac1a11461058592d7cfb29ac9bf8e761856a3c9cc38a3a652daf88590ae386610056ebe43181a8a4113750b4057
@@ -9,7 +9,7 @@ module Fastlane
9
9
  end
10
10
  class UploadToLambdatestAction < Action
11
11
 
12
- SUPPORTED_EXTENSIONS = ["apk", "ipa", "aab"]
12
+ SUPPORTED_EXTENSIONS = ["apk", "ipa", "aab", "zip"]
13
13
 
14
14
  def self.run(params)
15
15
  lt_username = params[:lt_username] # Required
@@ -19,14 +19,15 @@ module Fastlane
19
19
  app_name = params[:app_name] #Optional
20
20
  visibility = params[:visibility] #Optional
21
21
  is_real_device = params[:is_real_device] #Optional
22
+ ios_keychain_enabled = params[:ios_keychain_enabled] # Optional
22
23
 
23
24
  api_endpoint = self.get_api_endpoint(is_real_device)
24
25
 
25
- self.validate_file_path(file_path)
26
+ self.validate_file_path(file_path, is_real_device)
26
27
 
27
28
  UI.message("Started Uploading app to Lambdatest...")
28
29
 
29
- lt_app_url = Helper::LambdatestHelper.upload_file(lt_username, lt_access_key, file_path, api_endpoint, custom_id, app_name, visibility)
30
+ lt_app_url = Helper::LambdatestHelper.upload_file(lt_username, lt_access_key, file_path, api_endpoint, custom_id, app_name, visibility, ios_keychain_enabled)
30
31
 
31
32
  # Set 'APP_URL' environment variable, if app upload was successful.
32
33
  ENV['APP_URL'] = lt_app_url
@@ -49,9 +50,12 @@ module Fastlane
49
50
  end
50
51
 
51
52
  # Validating file_path and extension.
52
- def self.validate_file_path(file_path)
53
+ def self.validate_file_path(file_path, is_real_device)
53
54
  UI.user_error!("file not found at '#{file_path}' ❌ .") unless File.exist?(file_path)
54
55
  file_path_parts = file_path.split(".")
56
+ if file_path_parts.last == "zip" && is_real_device
57
+ UI.user_error!("Uploading zip files is only supported for virtual devices. Please set is_real_device to false.")
58
+ end
55
59
  unless file_path_parts.length > 1 && SUPPORTED_EXTENSIONS.include?(file_path_parts.last)
56
60
  UI.user_error!("Invalid file extension, only files with extensions " + SUPPORTED_EXTENSIONS.to_s + " are allowed to be uploaded.")
57
61
  end
@@ -121,6 +125,12 @@ module Fastlane
121
125
  optional: true,
122
126
  is_string: false,
123
127
  default_value: true,
128
+ type: Boolean),
129
+ FastlaneCore::ConfigItem.new(key: :ios_keychain_enabled,
130
+ description: "Enable iOS Keychain",
131
+ optional: true,
132
+ is_string: false,
133
+ default_value: nil,
124
134
  type: Boolean)
125
135
  ]
126
136
  end
@@ -20,7 +20,7 @@ module Fastlane
20
20
  # +custom_id+:: Custom id for app upload.
21
21
  # +file_path+:: Path to the file to be uploaded.
22
22
  # +url+:: Lambdatest's app upload endpoint.
23
- def self.upload_file(lt_username, lt_access_key, file_path, url, custom_id,app_name, visibility)
23
+ def self.upload_file(lt_username, lt_access_key, file_path, url, custom_id,app_name, visibility, ios_keychain_enabled)
24
24
  payload = {
25
25
  name: app_name,
26
26
  appFile: File.new(file_path, 'rb'),
@@ -31,6 +31,14 @@ module Fastlane
31
31
  payload[:custom_id] = custom_id
32
32
  end
33
33
 
34
+ unless ios_keychain_enabled.nil?
35
+ payload[:ios_keychain_enabled] = ios_keychain_enabled
36
+ end
37
+
38
+ if File.extname(file_path).downcase == ".zip"
39
+ payload[:type] = 4
40
+ end
41
+
34
42
  headers = {
35
43
  "User-Agent" => "fastlane_plugin_lambdatest"
36
44
  }
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Lambdatest
3
- VERSION = "0.1.5"
3
+ VERSION = "0.1.7"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-lambdatest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - LambdaTest
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-20 00:00:00.000000000 Z
11
+ date: 2025-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client