diff --git a/lib/kamal/cli/main.rb b/lib/kamal/cli/main.rb index 6daa1c65..1cc9d98e 100644 --- a/lib/kamal/cli/main.rb +++ b/lib/kamal/cli/main.rb @@ -186,7 +186,7 @@ class Kamal::Cli::Main < Kamal::Cli::Base env_path = ".env" end - if File.exist?(env_template_path) + if Pathname.new(File.expand_path(env_template_path)).exist? File.write(env_path, ERB.new(File.read(env_template_path), trim_mode: "-").result, perm: 0600) unless options[:skip_push] diff --git a/test/cli/main_test.rb b/test/cli/main_test.rb index 8f897ca9..6c7c0f24 100644 --- a/test/cli/main_test.rb +++ b/test/cli/main_test.rb @@ -12,7 +12,7 @@ class CliMainTest < CliTestCase run_command("setup").tap do |output| assert_match /Ensure Docker is installed.../, output - assert_match /Push env files.../, output + assert_match /Evaluate and push env files.../, output end end @@ -34,7 +34,7 @@ class CliMainTest < CliTestCase run_command("setup", "--skip_push").tap do |output| assert_match /Ensure Docker is installed.../, output - assert_match /Push env files.../, output + assert_match /Evaluate and push env files.../, output # deploy assert_match /Acquiring the deploy lock/, output assert_match /Log into image registry/, output @@ -429,6 +429,7 @@ class CliMainTest < CliTestCase end test "envify" do + Pathname.any_instance.expects(:exist?).returns(true).times(3) File.expects(:read).with(".env.erb").returns("HELLO=<%= 'world' %>") File.expects(:write).with(".env", "HELLO=world", perm: 0600)