docker-build-tools-ci icon indicating copy to clipboard operation
docker-build-tools-ci copied to clipboard

How to use PHP 8.0 with Build Tools 2.x?

Open ptmkenny opened this issue 3 years ago • 2 comments

I have a Build Tools 2.x repo that I attempted to upgrade to PHP 8.0.

First, I updated my pantheon Drupal install to PHP 8.0 and pantheon.yml. No problem.

Next, I switched from https://github.com/pantheon-systems/docker-build-tools-ci/tree/7.x-php7.4' to php8.0`.

CircleCI crashes hard during the "deploy to pantheon" step with ~98 MB of terminus deprecation errors like this:

Deprecated: Method ReflectionParameter::getClass() is deprecated in /usr/local/share/terminus/vendor/consolidation/annotated-command/src/Parser/CommandInfo.php on line 654

Ok, so I need to upgrade to Terminus 3-- but according to the docs page over here, you need Build Tools v3 to use Terminus 3; it's not possible with v2.

  1. If you need build tools v3 (8.x branch) to use PHP8.0, why is there a 7.x-php8.0 tag, since terminus 2 does not work with PHP 8.0?
  2. If we have to update to build tools 3.0, are there any docs for that?

ptmkenny avatar Jan 08 '22 12:01 ptmkenny

I managed to update a CircleCI build process to use 7.x-php8.0@5cd91837e47f by doing a composer update before trying to use terminus:

jobs:
  myjob:
    steps:
      # Prev steps, never calling terminus 
      - run: composer -n --working-dir=/usr/local/share/terminus require pantheon-systems/terminus:3.0.7 -w
      # Next steps, running terminus

jedihe avatar Apr 07 '22 15:04 jedihe

Seeing this error and more on the 8.0 image, which seems all but abandoned.

Here's another common error: undefined method Symfony\Component\Process\ProcessUtils::escapeArgument

I switched to the 8.2 tag, which seems to have compatible versions of terminus and related packages. So far it's working for my PHP 8.0 Drupal build

aaronbauman avatar Mar 23 '23 18:03 aaronbauman