From 06af8688399207c049250e79e12c839771003a3b Mon Sep 17 00:00:00 2001 From: Trevor Elkins Date: Thu, 20 Feb 2025 16:58:39 -0500 Subject: [PATCH 1/4] Expose snapshot grouping delimiter --- .../upload/snapshots/client_libraries/default.rb | 11 ++++++++--- lib/commands/upload/snapshots/snapshots.rb | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/commands/upload/snapshots/client_libraries/default.rb b/lib/commands/upload/snapshots/client_libraries/default.rb index c1ebfd2..cd033b3 100644 --- a/lib/commands/upload/snapshots/client_libraries/default.rb +++ b/lib/commands/upload/snapshots/client_libraries/default.rb @@ -3,8 +3,9 @@ module Commands module Upload module ClientLibraries class Default - def initialize(image_paths) + def initialize(image_paths, group_delimiter) @image_paths = image_paths + @group_delimiter = group_delimiter end def image_files @@ -13,10 +14,14 @@ def image_files def parse_file_info(image_path) file_name = File.basename(image_path) + file_name_without_extension = File.basename(file_name, '.*') + parts = file_name_without_extension.split(@group_delimiter) + group_name = parts.first + variant_name = parts[1..-1].join(@group_delimiter) { file_name:, - group_name: File.basename(image_path, '.*'), - variant_name: nil + group_name:, + variant_name: } end end diff --git a/lib/commands/upload/snapshots/snapshots.rb b/lib/commands/upload/snapshots/snapshots.rb index f98f04e..cddc657 100644 --- a/lib/commands/upload/snapshots/snapshots.rb +++ b/lib/commands/upload/snapshots/snapshots.rb @@ -27,7 +27,7 @@ class Snapshots < EmergeCLI::Commands::GlobalOptions option :base_sha, type: :string, required: false, desc: 'Base SHA' option :previous_sha, type: :string, required: false, desc: 'Previous SHA' option :pr_number, type: :string, required: false, desc: 'PR number' - option :concurrency, type: :integer, default: 5, desc: 'Number of concurrency for parallel uploads' + option :concurrency, type: :integer, default: 5, desc: 'Number of concurrency for parallel image uploads when not using batch mode' option :client_library, type: :string, required: false, values: %w[swift-snapshot-testing paparazzi roborazzi], desc: 'Client library used for snapshots' @@ -36,7 +36,7 @@ class Snapshots < EmergeCLI::Commands::GlobalOptions option :profile, type: :boolean, default: false, desc: 'Enable performance profiling metrics' option :batch, type: :boolean, default: true, desc: 'Upload images in batch using zip file' - + option :group_delimiter, type: :string, default: '__', desc: 'Delimiter for group and variant names' argument :image_paths, type: :array, required: false, desc: 'Paths to folders containing images' def initialize(network: nil, git_info_provider: nil) From 7584020246057b172af7de873712a8bce8660507 Mon Sep 17 00:00:00 2001 From: Trevor Elkins Date: Thu, 20 Feb 2025 16:59:15 -0500 Subject: [PATCH 2/4] fix --- lib/commands/upload/snapshots/snapshots.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/commands/upload/snapshots/snapshots.rb b/lib/commands/upload/snapshots/snapshots.rb index cddc657..ac538e3 100644 --- a/lib/commands/upload/snapshots/snapshots.rb +++ b/lib/commands/upload/snapshots/snapshots.rb @@ -119,7 +119,7 @@ def create_client(image_paths) raise "Unsupported client library: #{@options[:client_library]}" end else - ClientLibraries::Default.new(image_paths) + ClientLibraries::Default.new(image_paths, @options[:group_delimiter]) end end From 586e07a7e84751a1b58286e29a4fb5414dd2f40f Mon Sep 17 00:00:00 2001 From: Trevor Elkins Date: Thu, 20 Feb 2025 17:03:59 -0500 Subject: [PATCH 3/4] lint --- lib/commands/upload/snapshots/client_libraries/default.rb | 2 +- lib/commands/upload/snapshots/snapshots.rb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/commands/upload/snapshots/client_libraries/default.rb b/lib/commands/upload/snapshots/client_libraries/default.rb index cd033b3..2661e19 100644 --- a/lib/commands/upload/snapshots/client_libraries/default.rb +++ b/lib/commands/upload/snapshots/client_libraries/default.rb @@ -17,7 +17,7 @@ def parse_file_info(image_path) file_name_without_extension = File.basename(file_name, '.*') parts = file_name_without_extension.split(@group_delimiter) group_name = parts.first - variant_name = parts[1..-1].join(@group_delimiter) + variant_name = parts[1..].join(@group_delimiter) { file_name:, group_name:, diff --git a/lib/commands/upload/snapshots/snapshots.rb b/lib/commands/upload/snapshots/snapshots.rb index ac538e3..2696b30 100644 --- a/lib/commands/upload/snapshots/snapshots.rb +++ b/lib/commands/upload/snapshots/snapshots.rb @@ -27,7 +27,8 @@ class Snapshots < EmergeCLI::Commands::GlobalOptions option :base_sha, type: :string, required: false, desc: 'Base SHA' option :previous_sha, type: :string, required: false, desc: 'Previous SHA' option :pr_number, type: :string, required: false, desc: 'PR number' - option :concurrency, type: :integer, default: 5, desc: 'Number of concurrency for parallel image uploads when not using batch mode' + option :concurrency, type: :integer, default: 5, + desc: 'Number of concurrency for parallel image uploads when not using batch mode' option :client_library, type: :string, required: false, values: %w[swift-snapshot-testing paparazzi roborazzi], desc: 'Client library used for snapshots' From 879c5221a5307d845c3a5a839b980e6960ddcedd Mon Sep 17 00:00:00 2001 From: Trevor Elkins Date: Thu, 20 Feb 2025 17:37:58 -0500 Subject: [PATCH 4/4] release --- .github/workflows/cli_deploy.yml | 2 ++ lib/version.rb | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cli_deploy.yml b/.github/workflows/cli_deploy.yml index 57d9fde..7544297 100644 --- a/.github/workflows/cli_deploy.yml +++ b/.github/workflows/cli_deploy.yml @@ -2,6 +2,8 @@ name: RubyGems Deploy on: workflow_dispatch: + release: + types: [ published ] jobs: build: diff --git a/lib/version.rb b/lib/version.rb index 26d30b4..b66f6f3 100644 --- a/lib/version.rb +++ b/lib/version.rb @@ -1,3 +1,3 @@ module EmergeCLI - VERSION = '0.7.4'.freeze + VERSION = '0.7.5'.freeze end