diff --git a/lib/mrsk/commands/builder/multiarch.rb b/lib/mrsk/commands/builder/multiarch.rb index 91e1e6bc..82ef4ee5 100644 --- a/lib/mrsk/commands/builder/multiarch.rb +++ b/lib/mrsk/commands/builder/multiarch.rb @@ -10,7 +10,13 @@ class Mrsk::Commands::Builder::Multiarch < Mrsk::Commands::Builder::Base end def push - docker :buildx, :build, "--push", "--platform linux/amd64,linux/arm64", "-t", config.absolute_image, *build_args, "." + docker :buildx, :build, + "--push", + "--platform linux/amd64,linux/arm64", + "-t", config.absolute_image, + *build_args, + *build_secrets, + "." end def info diff --git a/lib/mrsk/commands/builder/native.rb b/lib/mrsk/commands/builder/native.rb index d32c68ac..310ace07 100644 --- a/lib/mrsk/commands/builder/native.rb +++ b/lib/mrsk/commands/builder/native.rb @@ -11,7 +11,7 @@ class Mrsk::Commands::Builder::Native < Mrsk::Commands::Builder::Base def push combine \ - docker(:build, "-t", *build_args, config.absolute_image, "."), + docker(:build, "-t", *build_args, *build_secrets, config.absolute_image, "."), docker(:push, config.absolute_image) end diff --git a/test/commands/builder_test.rb b/test/commands/builder_test.rb index 444e674f..1f2df502 100644 --- a/test/commands/builder_test.rb +++ b/test/commands/builder_test.rb @@ -41,4 +41,9 @@ class CommandsBuilderTest < ActiveSupport::TestCase builder = Mrsk::Commands::Builder.new(Mrsk::Configuration.new(@config.merge({ builder: { "args" => { "a" => 1, "b" => 2 } } }))) assert_equal [ :docker, :buildx, :build, "--push", "--platform linux/amd64,linux/arm64", "-t", "dhh/app:123", "--build-arg", "a=1", "--build-arg", "b=2", "." ], builder.push end + + test "native push with with build secrets" do + builder = Mrsk::Commands::Builder.new(Mrsk::Configuration.new(@config.merge({ builder: { "multiarch" => false, "secrets" => [ "a", "b" ] } }))) + assert_equal [ :docker, :build, "-t", "--secret", "id=a", "--secret", "id=b", "dhh/app:123", ".", "&&", :docker, :push, "dhh/app:123" ], builder.push + end end