Describe the bug
Pushing files or folders to wp-content/mu-plugins deletes the mu-plugin.php file, which breaks multisite admin logins (as well as other WP Engine mu-plugins). It also attempts to delete WP Engine's mu-plugins but fails, including:
force-strong-passwords
wp-cache-memcached
wpe-cache-plugin
wpe-wp-sign-on-plugin
wpengine-common
To reproduce
Set up a WordPress repository to be deployed to the /wp-content directory.
Ensure that your repository includes a functioning theme so it won't break the installation.
Ensure that your repository includes the mu-plugins directory with at minimum a .gitkeep file in it. The repository should not include the WP Engine mu-plugins, as those should be controlled and updated by WP Engine and not checked in to source control.
Set up the GitHub action to deploy to a WP Engine server in the /wp-content directory.
Observe that the deployment action flags as Failed despite successfully deploying the files.
Check the wp-content/mu-plugins directory on the server for mu-plugins.php and observe that it has been deleted.
Expected behavior
WP Engine's proprietary mu-plugins should not be impacted by deployment, regardless of the repository's contents.
Build Output & Screenshots
Deployment log from running trhe action with the above setup:
Note that explicitly excluding these directories & that file solves the issue. It would be great if this could be implemented as the default rsync exclude list when using the action out of the box. At the very least, some documentation about how to properly set up the .deployignore should be created, as it caused a lot of problems for me when deploying to my multisite installation and took quite a few hours from both WP Engine support and my team to resolve.
Describe the bug Pushing files or folders to
wp-content/mu-plugins
deletes themu-plugin.php
file, which breaks multisite admin logins (as well as other WP Engine mu-plugins). It also attempts to delete WP Engine's mu-plugins but fails, including:To reproduce
/wp-content
directory.mu-plugins
directory with at minimum a.gitkeep
file in it. The repository should not include the WP Engine mu-plugins, as those should be controlled and updated by WP Engine and not checked in to source control./wp-content
directory.wp-content/mu-plugins
directory on the server formu-plugins.php
and observe that it has been deleted.Expected behavior
WP Engine's proprietary mu-plugins should not be impacted by deployment, regardless of the repository's contents.
Build Output & Screenshots
Deployment log from running trhe action with the above setup:
Version information
Additional context
Note that explicitly excluding these directories & that file solves the issue. It would be great if this could be implemented as the default
rsync
exclude list when using the action out of the box. At the very least, some documentation about how to properly set up the.deployignore
should be created, as it caused a lot of problems for me when deploying to my multisite installation and took quite a few hours from both WP Engine support and my team to resolve.Here's my
.deployignore
that fixed the issue: