Skip to content

Commit fdb9948

Browse files
authored
Expose snapshot grouping delimiter (#64)
1 parent a4ddb37 commit fdb9948

File tree

4 files changed

+15
-7
lines changed

4 files changed

+15
-7
lines changed

.github/workflows/cli_deploy.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ name: RubyGems Deploy
22

33
on:
44
workflow_dispatch:
5+
release:
6+
types: [ published ]
57

68
jobs:
79
build:

lib/commands/upload/snapshots/client_libraries/default.rb

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ module Commands
33
module Upload
44
module ClientLibraries
55
class Default
6-
def initialize(image_paths)
6+
def initialize(image_paths, group_delimiter)
77
@image_paths = image_paths
8+
@group_delimiter = group_delimiter
89
end
910

1011
def image_files
@@ -13,10 +14,14 @@ def image_files
1314

1415
def parse_file_info(image_path)
1516
file_name = File.basename(image_path)
17+
file_name_without_extension = File.basename(file_name, '.*')
18+
parts = file_name_without_extension.split(@group_delimiter)
19+
group_name = parts.first
20+
variant_name = parts[1..].join(@group_delimiter)
1621
{
1722
file_name:,
18-
group_name: File.basename(image_path, '.*'),
19-
variant_name: nil
23+
group_name:,
24+
variant_name:
2025
}
2126
end
2227
end

lib/commands/upload/snapshots/snapshots.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ class Snapshots < EmergeCLI::Commands::GlobalOptions
2727
option :base_sha, type: :string, required: false, desc: 'Base SHA'
2828
option :previous_sha, type: :string, required: false, desc: 'Previous SHA'
2929
option :pr_number, type: :string, required: false, desc: 'PR number'
30-
option :concurrency, type: :integer, default: 5, desc: 'Number of concurrency for parallel uploads'
30+
option :concurrency, type: :integer, default: 5,
31+
desc: 'Number of concurrency for parallel image uploads when not using batch mode'
3132

3233
option :client_library, type: :string, required: false, values: %w[swift-snapshot-testing paparazzi roborazzi],
3334
desc: 'Client library used for snapshots'
@@ -36,7 +37,7 @@ class Snapshots < EmergeCLI::Commands::GlobalOptions
3637
option :profile, type: :boolean, default: false, desc: 'Enable performance profiling metrics'
3738

3839
option :batch, type: :boolean, default: true, desc: 'Upload images in batch using zip file'
39-
40+
option :group_delimiter, type: :string, default: '__', desc: 'Delimiter for group and variant names'
4041
argument :image_paths, type: :array, required: false, desc: 'Paths to folders containing images'
4142

4243
def initialize(network: nil, git_info_provider: nil)
@@ -119,7 +120,7 @@ def create_client(image_paths)
119120
raise "Unsupported client library: #{@options[:client_library]}"
120121
end
121122
else
122-
ClientLibraries::Default.new(image_paths)
123+
ClientLibraries::Default.new(image_paths, @options[:group_delimiter])
123124
end
124125
end
125126

lib/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module EmergeCLI
2-
VERSION = '0.7.4'.freeze
2+
VERSION = '0.7.5'.freeze
33
end

0 commit comments

Comments
 (0)