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/commands/upload/snapshots/client_libraries/default.rb b/lib/commands/upload/snapshots/client_libraries/default.rb index c1ebfd2..2661e19 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..].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..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 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 +37,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) @@ -119,7 +120,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 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