
Release Notes: - N/A --------- Co-authored-by: michael <michael@zed.dev> Co-authored-by: agus <agus@zed.dev>
1.6 KiB
1.6 KiB
- The changes introduce a new
DependencyError
class inkamal/cli.rb
alongside other error classes likeBootError
andHookError
. This new error class will be used to handle dependency-related failures. - In
kamal/cli/base.rb
, a new methodensure_docker_installed
is added which checks for Docker and buildx plugin installation locally. It raises the newDependencyError
with appropriate messages if either Docker or buildx plugin are not found, replacing similar functionality that was previously scattered elsewhere. - The
kamal/cli/build.rb
file is modified to use the newensure_docker_installed
method instead of the removedverify_local_dependencies
method. The error handling is now consistent, usingDependencyError
instead ofBuildError
for dependency-related failures. - The
kamal/cli/registry.rb
file now includes a call toensure_docker_installed
at the start of the login method, ensuring Docker is available before attempting registry operations. - The
kamal/commands/base.rb
file adds a new public methodensure_docker_installed
that combines checks for both Docker and buildx plugin installation, moving this functionality from the Builder class. - The
kamal/commands/builder.rb
file is simplified by removing theensure_local_dependencies_installed
method and related private methods, as this functionality has been moved to the base commands class. - Test files are updated to reflect these changes, with
build_test.rb
now expectingDependencyError
instead ofBuildError
for dependency failures, andregistry_test.rb
adding a new test case for Docker dependency checking during login.