Merge pull request #1363 from basecamp/check-for-docker-locally

Check for docker locally before registry login
This commit is contained in:
Donal McBreen
2025-01-17 15:45:18 +00:00
committed by GitHub
8 changed files with 43 additions and 36 deletions

View File

@@ -155,7 +155,7 @@ class CliBuildTest < CliTestCase
.raises(SSHKit::Command::Failed.new("no buildx"))
Kamal::Commands::Builder.any_instance.stubs(:native_and_local?).returns(false)
assert_raises(Kamal::Cli::Build::BuildError) { run_command("push") }
assert_raises(Kamal::Cli::DependencyError) { run_command("push") }
end
test "push pre-build hook failure" do

View File

@@ -43,6 +43,16 @@ class CliRegistryTest < CliTestCase
end
end
test "login with no docker" do
stub_setup
SSHKit::Backend::Abstract.any_instance.stubs(:execute)
.with(:docker, "--version", "&&", :docker, :buildx, "version")
.raises(SSHKit::Command::Failed.new("command not found"))
assert_raises(Kamal::Cli::DependencyError) { run_command("login") }
end
private
def run_command(*command)
stdouted { Kamal::Cli::Registry.start([ *command, "-c", "test/fixtures/deploy_with_accessories.yml" ]) }