From 677467554733f42bc5ec9de515710c8d89ea5efb Mon Sep 17 00:00:00 2001 From: Liubomyr Manastyretskyi Date: Sun, 13 Aug 2023 12:03:31 +0300 Subject: [PATCH 1/2] Fix builder registry cache when using default registry --- lib/mrsk/configuration/builder.rb | 12 ++++++++++-- test/configuration/builder_test.rb | 16 ++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/lib/mrsk/configuration/builder.rb b/lib/mrsk/configuration/builder.rb index 46c12cb4..309240fb 100644 --- a/lib/mrsk/configuration/builder.rb +++ b/lib/mrsk/configuration/builder.rb @@ -96,12 +96,20 @@ class Mrsk::Configuration::Builder @options["cache"]&.fetch("image", nil) || "#{@image}-build-cache" end + def cache_image_ref + if @server.present? + "#{@server}/#{cache_image}" + else + cache_image + end + end + def cache_from_config_for_gha "type=gha" end def cache_from_config_for_registry - [ "type=registry", "ref=#{@server}/#{cache_image}" ].compact.join(",") + [ "type=registry", "ref=#{cache_image_ref}" ].compact.join(",") end def cache_to_config_for_gha @@ -109,6 +117,6 @@ class Mrsk::Configuration::Builder end def cache_to_config_for_registry - [ "type=registry", @options["cache"]&.fetch("options", nil), "ref=#{@server}/#{cache_image}" ].compact.join(",") + [ "type=registry", @options["cache"]&.fetch("options", nil), "ref=#{cache_image_ref}" ].compact.join(",") end end diff --git a/test/configuration/builder_test.rb b/test/configuration/builder_test.rb index 1b355187..b81cc93a 100644 --- a/test/configuration/builder_test.rb +++ b/test/configuration/builder_test.rb @@ -98,15 +98,23 @@ class ConfigurationBuilderTest < ActiveSupport::TestCase test "setting registry cache" do @deploy_with_builder_option[:builder] = { "cache" => { "type" => "registry", "options" => "mode=max,image-manifest=true,oci-mediatypes=true" } } - assert_equal "type=registry,ref=/dhh/app-build-cache", @config_with_builder_option.builder.cache_from - assert_equal "type=registry,mode=max,image-manifest=true,oci-mediatypes=true,ref=/dhh/app-build-cache", @config_with_builder_option.builder.cache_to + assert_equal "type=registry,ref=dhh/app-build-cache", @config_with_builder_option.builder.cache_from + assert_equal "type=registry,mode=max,image-manifest=true,oci-mediatypes=true,ref=dhh/app-build-cache", @config_with_builder_option.builder.cache_to + end + + test "setting registry cache when using a custom registry" do + @config_with_builder_option.registry["server"] = "registry.example.com" + @deploy_with_builder_option[:builder] = { "cache" => { "type" => "registry", "options" => "mode=max,image-manifest=true,oci-mediatypes=true" } } + + assert_equal "type=registry,ref=registry.example.com/dhh/app-build-cache", @config_with_builder_option.builder.cache_from + assert_equal "type=registry,mode=max,image-manifest=true,oci-mediatypes=true,ref=registry.example.com/dhh/app-build-cache", @config_with_builder_option.builder.cache_to end test "setting registry cache with image" do @deploy_with_builder_option[:builder] = { "cache" => { "type" => "registry", "image" => "mrsk", "options" => "mode=max" } } - assert_equal "type=registry,ref=/mrsk", @config_with_builder_option.builder.cache_from - assert_equal "type=registry,mode=max,ref=/mrsk", @config_with_builder_option.builder.cache_to + assert_equal "type=registry,ref=mrsk", @config_with_builder_option.builder.cache_from + assert_equal "type=registry,mode=max,ref=mrsk", @config_with_builder_option.builder.cache_to end test "args" do From f68a33465fb9005dab2d64b1af1a5b4ef4e91bc7 Mon Sep 17 00:00:00 2001 From: Liubomyr Manastyretskyi Date: Thu, 17 Aug 2023 11:58:14 +0300 Subject: [PATCH 2/2] Fix review comments --- lib/mrsk/configuration/builder.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/mrsk/configuration/builder.rb b/lib/mrsk/configuration/builder.rb index 309240fb..9e8f6f86 100644 --- a/lib/mrsk/configuration/builder.rb +++ b/lib/mrsk/configuration/builder.rb @@ -97,11 +97,7 @@ class Mrsk::Configuration::Builder end def cache_image_ref - if @server.present? - "#{@server}/#{cache_image}" - else - cache_image - end + [ @server, cache_image ].compact.join("/") end def cache_from_config_for_gha