acquia / blt

Acquia's toolset for automating Drupal 8 and 9 development, testing, and deployment.
https://docs.acquia.com/blt/
GNU General Public License v2.0
442 stars 394 forks source link

BLT-5223: BLT build starts failing after upgrade to 13.7 with Drush 12.1 #4699

Closed jaydee18 closed 1 year ago

jaydee18 commented 1 year ago

Describe the bug After upgrading to BLT 13.7 and Drush 12.1 - my builds are failing.

To Reproduce Upgrade BLT project to 13.7 with Drush 12.1

Expected behavior A completed build without errors.

Detailed error output % ddev blt setup -vvv Setting up local environment for site default. Using drush alias @self

source:build [debug] Verifying that Drupal is installed... [info] Running command /var/www/html/vendor/bin/drush @self status --format=json --fields=* --root=/var/www/html/docroot [debug] Drupal bootstrap results: Successful [info] Running command /var/www/html/vendor/bin/drush @self config:status [debug] Config status check results: [debug] source:build:composer [Exec] Running export COMPOSER_EXIT_ON_PATCH_FAILURE=1 && composer install --ansi --no-interaction in /var/www/html Running 2.5.8 (2023-06-09 17:13:21) with PHP 8.1.21 on Linux / 6.1.29-0-virt Reading ./composer.json (/var/www/html/composer.json) Loading config file ./composer.json (/var/www/html/composer.json) Checked CA file /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a file. Checked directory /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a directory. Checked CA file /etc/ssl/certs/ca-certificates.crt: valid Executing command (/var/www/html): 'git' 'branch' '-a' '--no-color' '--no-abbrev' '-v' Executing async command (/var/www/html): git rev-list develop..feature/DIGDEL-5763-upgrade-drush-12 Executing async command (/var/www/html): git rev-list remotes/origin/master..feature/DIGDEL-5763-upgrade-drush-12 Executing async command (/var/www/html): git rev-list remotes/origin/develop..feature/DIGDEL-5763-upgrade-drush-12 Failed to initialize global composer: Composer could not find the config file: /home/jon/.composer/composer.json

Reading /var/www/html/vendor/composer/installed.json Loading plugin Composer\Installers\Plugin (from composer/installers) Loading plugin SimpleSAML\Composer\ModuleInstallerPlugin (from simplesamlphp/composer-module-installer) Loading plugin Acquia\Blt\Composer\Plugin (from acquia/blt) Loading plugin PHPCSStandards\Composer\Plugin\Installers\PHPCodeSniffer\Plugin (from dealerdirect/phpcodesniffer-composer-installer) Loading plugin PHPStan\ExtensionInstaller\Plugin (from phpstan/extension-installer) Loading plugin cweagans\Composer\Patches (from cweagans/composer-patches) Loading plugin Drupal\Composer\Plugin\Scaffold\Plugin (from drupal/core-composer-scaffold) Loading plugin OomphInc\ComposerInstallersExtender\Plugin (from oomphinc/composer-installers-extender) Reading ./composer.lock (/var/www/html/composer.lock)

command: Drupal\Composer\Plugin\Scaffold\Plugin->onCommand pre-install-cmd: cweagans\Composer\Patches->checkPatches Gathering patches for root package. Removing package drupal/panelizer so that it can be re-installed and re-patched.

  • Removing drupal/panelizer (dev-5.x 7468416) Executing async command (CWD): rm -rf '/var/www/html/docroot/modules/contrib/panelizer' Deleting /var/www/html/docroot/modules/contrib/panelizer - deleted Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Reading ./composer.lock (/var/www/html/composer.lock) Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run composer update or composer update <package name>. Built pool. Generating rules Resolving dependencies through SAT Looking at all rules.

Dependency resolution completed in 0.001 seconds Package operations: 1 install, 0 updates, 0 removals Installs: drupal/panelizer:dev-5.x 7468416 Executing command (CWD): git --version

post-package-install: Acquia\Blt\Composer\Plugin->onPostPackageEvent post-package-install: Drupal\Composer\Plugin\Scaffold\Plugin->postPackage Downloading https://packages.drupal.org/8/downloads [200] https://packages.drupal.org/8/downloads Package webmozart/path-util is abandoned, you should avoid using it. Use symfony/filesystem instead. Generating autoload files 115 packages you are using are looking for funding. Use the composer fund command to find out more! post-install-cmd: Acquia\Blt\Composer\Plugin->onPostCmdEvent post-install-cmd: PHPCSStandards\Composer\Plugin\Installers\PHPCodeSniffer\Plugin->onDependenciesChangedEvent Running PHPCodeSniffer Composer Installer Executing command (/var/www/html/vendor/squizlabs/php_codesniffer): '/usr/bin/php8.1' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='-1' ./bin/phpcs --config-show No PHPCS standards to install or update post-install-cmd: PHPStan\ExtensionInstaller\Plugin->process phpstan/extension-installer: Extensions installed post-install-cmd: Drupal\Composer\Plugin\Scaffold\Plugin->postCmd Scaffolding files for my-site/drupal-acquia-blt:

  • Skip [web-root]/sites/default/default.services.yml because it already exists and overwrite is false.
  • Skip [web-root]/sites/default/default.settings.php because it already exists and overwrite is false.
  • Skip [web-root]/.htaccess: disabled Executing command (/var/www/html/./docroot): git ls-files --error-unmatch '/var/www/html/./docroot/autoload.php' Executing command (/var/www/html): git rev-parse --show-toplevel Executing command (/var/www/html): git check-ignore 'vendor' Executing command (/var/www/html): git check-ignore '/var/www/html/docroot/sites/default/default.services.yml' Executing command (/var/www/html): git ls-files --error-unmatch '/var/www/html/docroot/sites/default/default.services.yml' Executing command (/var/www/html): git check-ignore '/var/www/html/docroot/sites/default/default.settings.php' Executing command (/var/www/html): git ls-files --error-unmatch '/var/www/html/docroot/sites/default/default.settings.php' Executing command (/var/www/html): git check-ignore '/var/www/html/docroot/.htaccess' Executing command (/var/www/html): git ls-files --error-unmatch '/var/www/html/docroot/.htaccess' [Exec] Done in 1.882s blt:init:git-hooks Skipping installation of pre-commit git hook... Installing pre-push git hook... [Filesystem\FilesystemStack] mkdir ["/var/www/html/.git/hooks"] [Filesystem\FilesystemStack] remove ["/var/www/html/.git/hooks/pre-push"] [Filesystem\FilesystemStack] symlink ["../../vendor/acquia/blt/scripts/git-hooks/pre-push","/var/www/html/.git/hooks/pre-push"] Installing commit-msg git hook... [Filesystem\FilesystemStack] mkdir ["/var/www/html/.git/hooks"] [Filesystem\FilesystemStack] remove ["/var/www/html/.git/hooks/commit-msg"] [Filesystem\FilesystemStack] symlink ["../../vendor/acquia/blt/scripts/git-hooks/commit-msg","/var/www/html/.git/hooks/commit-msg"] blt:init:settings Hash salt already exists. [debug] Multisites found: default [debug] Initial site: default [Filesystem\FilesystemStack] _chmod ["/var/www/html/docroot/sites/default",511] [Filesystem\FilesystemStack] _chmod ["/var/www/html/docroot/sites/default/settings.php",511] [File\Write] Writing to /var/www/html/docroot/sites/default/settings.php. [Filesystem\FilesystemStack] _chmod ["/var/www/html/docroot/sites/default/settings.php",420] 9/9 [============================] 100% < 1 sec/< 1 sec 4.0 MiB source:build:frontend source:build:frontend-reqs Executing frontend-reqs target hook... [ExecStack] [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && nvm use; npm install [ExecStack] Running [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && nvm use; npm install in /var/www/html/docroot/themes/custom/my-site Found '/var/www/html/.nvmrc' with version <11.0> N/A: version "v11.0" is not yet installed.

You need to run nvm install to install and use the node version specified in .nvmrc.

up to date, audited 642 packages in 2s

36 packages are looking for funding run npm fund for details

9 vulnerabilities (1 moderate, 7 high, 1 critical)

To address issues that do not require attention, run: npm audit fix

To address all issues possible (including breaking changes), run: npm audit fix --force

Some issues need review, and may require choosing a different dependency.

Run npm audit for details. [ExecStack] Done in 2.381s

source:build:frontend-assets Executing frontend-assets target hook... [ExecStack] [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && nvm use; gulp styles gulp js [ExecStack] Running [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && nvm use; gulp styles gulp js in /var/www/html/docroot/themes/custom/my-site Found '/var/www/html/.nvmrc' with version <11.0> N/A: version "v11.0" is not yet installed.

You need to run nvm install to install and use the node version specified in .nvmrc. [00:40:03] Using gulpfile /var/www/html/docroot/themes/custom/my-site/gulpfile.js [00:40:03] Starting 'styles'... Deprecation Warning: Passing percentage units to the global abs() function is deprecated. In the future, this will emit a CSS abs() function to be resolved by the browser. To preserve current behavior: math.abs(100%) To emit a CSS abs() now: abs(#{100%}) More info: https://sass-lang.com/d/abs-percent

╷ 57 │ $dividend: abs($dividend); │ ^^^^^^^^^^^^^^ ╵ node_modules/bootstrap/scss/vendor/_rfs.scss 57:14 divide() node_modules/bootstrap/scss/mixins/_grid.scss 59:12 row-cols() node_modules/bootstrap/scss/mixins/_grid.scss 85:13 @content node_modules/bootstrap/scss/mixins/_breakpoints.scss 68:5 media-breakpoint-up() node_modules/bootstrap/scss/mixins/_grid.scss 72:5 make-grid-columns() node_modules/bootstrap/scss/_grid.scss 38:3 @import node_modules/bootstrap/scss/bootstrap.scss 20:9 @import scss/import.scss 12:9 @import scss/style.scss 7:9 root stylesheet

[00:40:08] Finished 'styles' after 5.29 s [00:40:09] Using gulpfile /var/www/html/docroot/themes/custom/my-site/gulpfile.js [00:40:09] Starting 'js'... [00:40:09] Finished 'js' after 14 ms [ExecStack] Done in 6.087s [info] Skipped post-setup-build target hook. No hook is defined.

drupal:deployment-identifier:init Generating deployment identifier... [File\Write] Writing to /var/www/html/deployment_identifier. drupal:sync:default:site source:build:composer [Exec] Running export COMPOSER_EXIT_ON_PATCH_FAILURE=1 && composer install --ansi --no-interaction in /var/www/html Running 2.5.8 (2023-06-09 17:13:21) with PHP 8.1.21 on Linux / 6.1.29-0-virt Reading ./composer.json (/var/www/html/composer.json) Loading config file ./composer.json (/var/www/html/composer.json) Checked CA file /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a file. Checked directory /etc/pki/tls/certs/ca-bundle.crt does not exist or it is not a directory. Checked CA file /etc/ssl/certs/ca-certificates.crt: valid Executing command (/var/www/html): 'git' 'branch' '-a' '--no-color' '--no-abbrev' '-v' Executing async command (/var/www/html): git rev-list develop..feature/DIGDEL-5763-upgrade-drush-12 Executing async command (/var/www/html): git rev-list remotes/origin/master..feature/DIGDEL-5763-upgrade-drush-12 Executing async command (/var/www/html): git rev-list remotes/origin/develop..feature/DIGDEL-5763-upgrade-drush-12 Failed to initialize global composer: Composer could not find the config file: /home/jon/.composer/composer.json

Reading /var/www/html/vendor/composer/installed.json Loading plugin Composer\Installers\Plugin (from composer/installers) Loading plugin SimpleSAML\Composer\ModuleInstallerPlugin (from simplesamlphp/composer-module-installer) Loading plugin Acquia\Blt\Composer\Plugin (from acquia/blt) Loading plugin PHPCSStandards\Composer\Plugin\Installers\PHPCodeSniffer\Plugin (from dealerdirect/phpcodesniffer-composer-installer) Loading plugin PHPStan\ExtensionInstaller\Plugin (from phpstan/extension-installer) Loading plugin cweagans\Composer\Patches (from cweagans/composer-patches) Loading plugin Drupal\Composer\Plugin\Scaffold\Plugin (from drupal/core-composer-scaffold) Loading plugin OomphInc\ComposerInstallersExtender\Plugin (from oomphinc/composer-installers-extender) Reading ./composer.lock (/var/www/html/composer.lock)

command: Drupal\Composer\Plugin\Scaffold\Plugin->onCommand pre-install-cmd: cweagans\Composer\Patches->checkPatches Gathering patches for root package. Removing package drupal/panelizer so that it can be re-installed and re-patched.

  • Removing drupal/panelizer (dev-5.x 7468416) Executing async command (CWD): rm -rf '/var/www/html/docroot/modules/contrib/panelizer' Deleting /var/www/html/docroot/modules/contrib/panelizer - deleted Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Reading ./composer.lock (/var/www/html/composer.lock) Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run composer update or composer update <package name>. Built pool. Generating rules Resolving dependencies through SAT Looking at all rules.

Dependency resolution completed in 0.001 seconds Package operations: 1 install, 0 updates, 0 removals Installs: drupal/panelizer:dev-5.x 7468416 Executing command (CWD): git --version

post-package-install: Acquia\Blt\Composer\Plugin->onPostPackageEvent post-package-install: Drupal\Composer\Plugin\Scaffold\Plugin->postPackage Downloading https://packages.drupal.org/8/downloads [200] https://packages.drupal.org/8/downloads Package webmozart/path-util is abandoned, you should avoid using it. Use symfony/filesystem instead. Generating autoload files 115 packages you are using are looking for funding. Use the composer fund command to find out more! post-install-cmd: Acquia\Blt\Composer\Plugin->onPostCmdEvent post-install-cmd: PHPCSStandards\Composer\Plugin\Installers\PHPCodeSniffer\Plugin->onDependenciesChangedEvent Running PHPCodeSniffer Composer Installer Executing command (/var/www/html/vendor/squizlabs/php_codesniffer): '/usr/bin/php8.1' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='-1' ./bin/phpcs --config-show No PHPCS standards to install or update post-install-cmd: PHPStan\ExtensionInstaller\Plugin->process phpstan/extension-installer: Extensions installed post-install-cmd: Drupal\Composer\Plugin\Scaffold\Plugin->postCmd Scaffolding files for my-site/drupal-acquia-blt:

  • Skip [web-root]/sites/default/default.services.yml because it already exists and overwrite is false.
  • Skip [web-root]/sites/default/default.settings.php because it already exists and overwrite is false.
  • Skip [web-root]/.htaccess: disabled Executing command (/var/www/html/./docroot): git ls-files --error-unmatch '/var/www/html/./docroot/autoload.php' Executing command (/var/www/html): git rev-parse --show-toplevel Executing command (/var/www/html): git check-ignore 'vendor' Executing command (/var/www/html): git check-ignore '/var/www/html/docroot/sites/default/default.services.yml' Executing command (/var/www/html): git ls-files --error-unmatch '/var/www/html/docroot/sites/default/default.services.yml' Executing command (/var/www/html): git check-ignore '/var/www/html/docroot/sites/default/default.settings.php' Executing command (/var/www/html): git ls-files --error-unmatch '/var/www/html/docroot/sites/default/default.settings.php' Executing command (/var/www/html): git check-ignore '/var/www/html/docroot/.htaccess' Executing command (/var/www/html): git ls-files --error-unmatch '/var/www/html/docroot/.htaccess' [Exec] Done in 1.941s blt:init:settings Hash salt already exists. [debug] Multisites found: default [debug] Initial site: default [Filesystem\FilesystemStack] _chmod ["/var/www/html/docroot/sites/default",511] [Filesystem\FilesystemStack] _chmod ["/var/www/html/docroot/sites/default/settings.php",511] [File\Write] Writing to /var/www/html/docroot/sites/default/settings.php. [Filesystem\FilesystemStack] _chmod ["/var/www/html/docroot/sites/default/settings.php",420] 3/3 [============================] 100% < 1 sec/< 1 sec 4.0 MiB drupal:sync:db [info] Running command /var/www/html/vendor/bin/drush @self site:alias @self --format=json [Acquia\Blt\Robo\Tasks\DrushTask] Running /var/www/html/vendor/bin/drush sql-sync @my-site.pilot @self --target-dump=/tmp/tmp.target.sql.gz --structure-tables-key=lightweight --create-db --no-interaction -vvv --ansi && /var/www/html/vendor/bin/drush cr --no-interaction -vvv --ansi in /var/www/html/docroot [preflight] Config paths: /var/www/html/vendor/drush/drush/drush.yml,/var/www/html/drush/drush.yml,/var/www/html/docroot/sites/default/local.drush.yml [preflight] Alias paths: /var/www/html/docroot/drush/sites,/var/www/html/drush/sites [preflight] Commandfile search paths: /var/www/html/vendor/drush/drush/src,/var/www/html/drush [info] Starting bootstrap to none [0.47 sec, 2.83 MB] [info] Drush bootstrap phase 0 [0.47 sec, 2.9 MB] [info] Try to validate bootstrap phase 0 [0.47 sec, 2.9 MB] [info] Executing: ssh -o PasswordAuthentication=no my-site.pilot@mysitepilot.ssh.prod.acquia-sites.com 'drush9 core-status --fields=db-name --format=json --uri=mysitepilot.prod.acquia-sites.com' [0.47 sec, 3.05 MB]

In ProcessBase.php line 171:

[InvalidArgumentException]
Unable to decode output into JSON: Syntax error

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/local/drush9/vendor/drush/drush/src/
internal-forks/Config/Yaml/Inline.php on line 86

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/local/drush9/vendor/drush/drush/src/
internal-forks/Config/Yaml/Inline.php on line 86

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/local/drush9/vendor/drush/drush/src/
internal-forks/Config/Yaml/Inline.php on line 86

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/local/drush9/vendor/drush/drush/src/
internal-forks/Config/Yaml/Inline.php on line 86

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/local/drush9/vendor/drush/drush/src/
internal-forks/Config/Yaml/Inline.php on line 86

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/local/drush9/vendor/drush/drush/src/
internal-forks/Config/Yaml/Inline.php on line 86

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/local/drush9/vendor/drush/drush/src/
internal-forks/Config/Yaml/Inline.php on line 86

Deprecated: Return type of DrushBatchContext::offsetSet($name, $value) should either be compatible with ArrayObject::offsetSet(mixed
$key, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/loca
l/drush9/vendor/drush/drush/includes/batch.inc on line 40

Deprecated: Optional parameter $command declared before required parameter $options is implicitly treated as a required parameter in
/usr/local/drush9/vendor/drush/drush/includes/batch.inc on line 115

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /usr/local/drush9/vendor/consolida
tion/site-alias/src/SiteSpecParser.php on line 144

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /usr/local/drush9/vendor/consolida
tion/site-alias/src/SiteSpecParser.php on line 144

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /usr/local/drush9/vendor/consolida
tion/site-alias/src/SiteSpecParser.php on line 144

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /usr/local/drush9/vendor/consolida
tion/site-alias/src/SiteSpecParser.php on line 144

Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /usr/local/drush9/vendor/consolida
tion/site-alias/src/SiteSpecParser.php on line 144
[]

Exception trace: at /var/www/html/vendor/consolidation/site-process/src/ProcessBase.php:171 Consolidation\SiteProcess\ProcessBase->getOutputAsJson() at /var/www/html/vendor/drush/drush/src/Commands/sql/SqlSyncCommands.php:120 Drush\Commands\sql\SqlSyncCommands->databaseName() at /var/www/html/vendor/drush/drush/src/Commands/sql/SqlSyncCommands.php:83 Drush\Commands\sql\SqlSyncCommands->validate() at /var/www/html/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/ValidateHookDispatcher.php:53 Consolidation\AnnotatedCommand\Hooks\Dispatchers\ValidateHookDispatcher->doValidator() at /var/www/html/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/ValidateHookDispatcher.php:42 Consolidation\AnnotatedCommand\Hooks\Dispatchers\ValidateHookDispatcher->callValidator() at /var/www/html/vendor/consolidation/annotated-command/src/Hooks/Dispatchers/ValidateHookDispatcher.php:29 Consolidation\AnnotatedCommand\Hooks\Dispatchers\ValidateHookDispatcher->validate() at /var/www/html/vendor/consolidation/annotated-command/src/CommandProcessor.php:195 Consolidation\AnnotatedCommand\CommandProcessor->validateRunAndAlter() at /var/www/html/vendor/consolidation/annotated-command/src/CommandProcessor.php:176 Consolidation\AnnotatedCommand\CommandProcessor->process() at /var/www/html/vendor/consolidation/annotated-command/src/AnnotatedCommand.php:391 Consolidation\AnnotatedCommand\AnnotatedCommand->execute() at /var/www/html/vendor/symfony/console/Command/Command.php:326 Symfony\Component\Console\Command\Command->run() at /var/www/html/vendor/symfony/console/Application.php:1081 Symfony\Component\Console\Application->doRunCommand() at /var/www/html/vendor/symfony/console/Application.php:320 Symfony\Component\Console\Application->doRun() at /var/www/html/vendor/symfony/console/Application.php:174 Symfony\Component\Console\Application->run() at /var/www/html/vendor/drush/drush/src/Runtime/Runtime.php:110 Drush\Runtime\Runtime->doRun() at /var/www/html/vendor/drush/drush/src/Runtime/Runtime.php:40 Drush\Runtime\Runtime->run() at /var/www/html/vendor/drush/drush/drush.php:139 require() at /var/www/html/vendor/drush/drush/drush:4 include() at /var/www/html/vendor/bin/drush:119

[Acquia\Blt\Robo\Tasks\DrushTask] Exit code 1 Time 5.751s The command failed. This often indicates a problem with your configuration. Review the command output above for more detailed errors, and consider re-running with verbose output for more information. [error] Command drupal:sync:db exited with code 1. For troubleshooting guidance and support, see https://docs.acquia.com/blt/support/ The command failed. This often indicates a problem with your configuration. Review the command output above for more detailed errors, and consider re-running with verbose output for more information. [error] Command drupal:sync:default:site exited with code 1. For troubleshooting guidance and support, see https://docs.acquia.com/blt/support/ 19.002s total time elapsed. Failed to run blt setup -vvv: exit status 1

BLT doctor output Post the full output of blt doctor in the failing environment here.

System information

jaydee18 commented 1 year ago

Actually I can see the issue, now that I've posted it. Drush path is wrong.