Update readiness checks: ignore read-only items

Created on 13 January 2025, 4 months ago

Problem/Motivation

Given the project with the read-only directory in the project root. This folder is a volume directory of one of the docker containers used by the project. This folder has to be ignored during the upgrade readiness check.

Steps to reproduce

Create a docker volume pointed to some folder in the project root directory.

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

πŸ’¬ Support request
Status

Active

Version

11.0 πŸ”₯

Component

package_manager.module

Created by

πŸ‡ΊπŸ‡¦Ukraine voleger Ukraine, Rivne

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @voleger
  • πŸ‡ΊπŸ‡¦Ukraine voleger Ukraine, Rivne

    Is there a way to define the folder unrelated to the core or vendor directory as ignored for the check and update process?

  • πŸ‡³πŸ‡¬Nigeria chike Nigeria

    I am also looking for a way to ignore a folder.

    We are using the host provider Namecheap, and the company usually has a folder called .nc_plugin which is present in all their host plans.

    This folder .nc_plugin is making my site to fail update readiness checks with the following message,

    Your site does not pass some readiness checks for automatic updates. It cannot be automatically updated until further action is performed.

    RecursiveDirectoryIterator::__construct(/home/username/.nc_plugin): Failed to open directory: Permission denied

    I spoke with the host support about .nc_plugin and they said,

    "The .nc_plugin directory in cPanel/WHM is associated with Namecheap's custom plugins and features that are integrated into the cPanel environment. This directory typically contains files and configurations related to the specific functionalities provided by Namecheap, such as SSL management, backup solutions, or other enhancements that are exclusive to Namecheap customers.

    If you are managing a cPanel account and notice the .nc_plugin directory, it is generally best to leave it intact, as it is crucial for the proper functioning of Namecheap's custom features. Modifying or deleting files within this directory could disrupt the services and tools provided by Namecheap."

    This means I shouldn't delete the folder nor modify its permissions.

    The safe way for me then should be to tell Automatic Updates to ignore it. So far I have not been able to do that.

  • πŸ‡¨πŸ‡¦Canada karunadave

    I am getting a very similar error with the CiviCRM module:

    Update readiness checks: Your site does not pass some readiness checks for automatic updates. It cannot be automatically updated until further action is performed.

    Unsupported Composer plugins were detected.
    civicrm/civicrm-asset-plugin
    civicrm/composer-compile-plugin
    civicrm/composer-downloads-plugin

    Problems detected related to the Composer plugin cweagans/composer-patches. It must be a root dependency.
    The composer-exit-on-patch-failure key is not set to true in the extra section of composer.json.

  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    #4: Those errors seem to be unrelated to this issue. But, to give you some detail:

    Unsupported Composer plugins were detected.
    civicrm/civicrm-asset-plugin
    civicrm/composer-compile-plugin
    civicrm/composer-downloads-plugin

    For safety's sake (for the time being, anyway), Package Manager is very strict about which Composer plugins you're allowed to have in your site. To get past these, you want to add them to the additional_supported_composer_plugins config setting in package_manager.settings. You can do that in settings.php or with Drush. (There's no UI for this.)

    Problems detected related to the Composer plugin cweagans/composer-patches. It must be a root dependency.
    The composer-exit-on-patch-failure key is not set to true in the extra section of composer.json.

    Package Manager has historically supported this plugin, but with caveats. You have to have the plugin listed in your site's composer.json explicitly -- it can't be brought in by some other dependency. And you need the specific exit-on-patch-failure configuration option set for it. Having said that, it would be best to remove the plugin entirely, if you can, because it's about to become disallowed by default in πŸ“Œ Package manager/ Automatic Updates should disallow composer patches by default Active .

Production build 0.71.5 2024