Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/locomotive/wagon/commands/push_command.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def push

# Ask for a confirmation (Warning) if we deploy with the -d option
# since it alters content on the remote engine
if options[:data]
if options[:data] && self.env != 'development'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've not thought about that. In that case, I think we should a ruby constant like DEVELOPMENT_ENV_NAMES or DEVELOPMENT_ENVS or perhaps a method named is_development_env? which lists all the possible names used for a non prod env (development, dev, test, staging, ...etc).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking about this already. I think self.env== 'production' would be better here

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same problem here. I use production most of the time but sometimes I also use hosting.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm rather than an environment variable, I propose another key added to the config/deploy.yml like do_not_ask or is_development_env

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we merge the current self.env== 'production' in the meantime until a better solution is commited?

@boie0025 boie0025 Mar 19, 2024

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was just working on a site now, and ran into this same thing... wanting to pull and then push with -d to override. What if there was just an additional flag --force or similar that skipped the message? I think it's valuable to have the guard there normally, but make it obvious when it's going to be overridden.. @did If you agree, I could put this together as a PR.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about we know what we're doing and get rid of it altogether? 🤓

@greyskin greyskin Mar 20, 2024

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's best practice to have the warning there, tedious as it may be. I think a key in the config.yml file is the best option as, IMO, tying a specific term to a behaviour (e.g. development or production = no warning) doesn't fit with Locomotive CMS' customisable ethos. I'd be in support a --force flag though.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the --force solution has been approved by everybody here 👍
@boie0025 go go! 🙏

return unless ask_for_performing("Warning! You're about to deploy data which will alter the content of your site.")
end

Expand Down