pantheon-systems / docker-build-tools-ci

Dockerfile source for docker image pantheon-public/build-tools-ci on quay.io
34 stars 39 forks source link

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

Open ptmkenny opened 2 years ago

ptmkenny commented 2 years ago

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' tophp8.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?
jedihe commented 2 years ago

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
aaronbauman commented 1 year ago

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