Problem/Motivation
Drupal 10 is out, we need a release compatible with it.
Steps to reproduce
Current blocker
From #4:
D10 requires the psr/log 3.0.0 whereas the akamai module requires the patriziotomato/edgegrid-client v1.2.1 which then requires psr/log ^1.0. Conflict cannot be resolved. Plus patriziotomato/edgegrid-client has been archived and replaced by https://github.com/akamai/AkamaiOPEN-edgegrid-php-client which also requires psr/log ^1.0.
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
Issue fork akamai-3337078
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
jrglasgow commentedI have started work on this update, as far as I have seen so far the only need is to update info file and composer.json... in the next weeks I will be testing and will update if needed.
Comment #4
rliD10 requires the psr/log 3.0.0 whereas the akamai module requires the patriziotomato/edgegrid-client v1.2.1 which then requires psr/log ^1.0. Conflict cannot be resolved. Plus patriziotomato/edgegrid-client has been archived and replaced by https://github.com/akamai/AkamaiOPEN-edgegrid-php-client which also requires psr/log ^1.0.
Comment #6
t-lo@rli points out the psr/log composer incompatibility which might make this quite a large re-write.
We're dependant on patriziotomato/edgegrid-client v1.2.1 which has been archived as the original Akamai repo akamai-open/edgegrid-client is active again.
patriziotomato/edgegrid-client forked from the Akamai repo akamai-open/edgegrid-client in 2017 and the version we depend on is three releases past the fork point (1.0.0).
There's a new version 2.0.0 akamai-open/edgegrid-client as well, I'll start some investigation into the compatibility of this, though it still requires psr/log 1. I'll look into contributing an upgrade of psr/log at the akamai repo.
Comment #7
moshe weitzman commentedThanks guys for working on this. Looks like a significant effort. Much appreciated. I will be sure to review and merge once its ready.
Comment #8
feng-shui commentedThanks for your time on this T-lo, happy to assist with testing etc.
Comment #9
mile23Updating IS to reflect the blocker.
Comment #10
owen barton commentedLooking through the forks of AkamaiOPEN-edgegrid-php-client I came across https://github.com/FranceMediasMonde/AkamaiOPEN-edgegrid-php-client which upgrades to psr/log v3 as well as some other dependencies.
Comment #11
moshe weitzman commentedThe recent composer failure for last patch is same as https://drupal.stackexchange.com/questions/293191/adding-repositories-in.... Its not possible to specify a fork in a contrib module since we can't use the
repositorieskey - its a root-only key. In order to proceed with francemediasmonde/akamaiopen-edgegrid-php-client, I think we will need:Comment #12
t-loSorry, I had to commit that requirements change to get my test setup building locally.
Still working through if it's a good fix.
Thanks for the info about working with a fork.
Comment #13
t-loI've just pushed commits updating deprecated functions, updating the version requirements and adding README file instructions around the repositories requirement in composer for the fork.
The new client requirement appears to be functionally compatible, no reworking required for the switch.
Given this change in akamai client to meet the psr/log requirement, we won't be able to support Drupal core under v10.0.3 going forwards, I would think that means this should be a new major version?
@moshe, I had a read through the document on DrupalCI you linked, and it seems to suggest we can only customise the "assessment" stage of the run. I think we'd need to change the "build" stage of the run, do you know if that's documented elsewhere or if there's an example somewhere?
Comment #14
moshe weitzman commentedCould we let the build stage do whatever it wants and we run our custom commands in Assessment to build codebase properly?
Comment #15
moshe weitzman commentedMy idea wont work. There is no way to customize DrupalCI's gather dependencies step and letting that run unmodified will produce a composer install error.
So we need to move to Gitlab CI or just forego tests. I've requested Gitlab Ci for this project.
Comment #16
ambient.impact@moshe weitzman If the issue is that you need to run custom commands before the
composer install, we actually ran into this problem as well since we use the patches plug-in. If you look at our issue, we eventually figured out how to do it and why it didn't seem to work at first: #3307885-19: Customize DrupalCI config to allow running cweagans/composer-patches; fails otherwiseYou can look at our
drupalci.yml- we only needed it during the testing phase, but you should be able to copy it to the assessment phase. The catch is that there's up to a day's delay for it to actually take effect due how DrupalCI works on Drupal.org - I'm fairly sure it only runs the DrupalCI config in your default branch, i.e. not a merge request, and only uses a daily snapshot or something like that so it won't take effect right away. Hope that helps.Comment #17
jrglasgow commentedI have made another few changes that were needed (causing PHP fatal errors) when running on my local development environment.
Comment #18
devkinetic commentedIs there anyone running D9 on PHP 8.1 and this module? I am having some warning thrown in my logs from patriziotomato/edgegrid-php-client which has been archived (previously noted). We are not quite ready to jump to D10, and I can imagine that we are not the only ones in this situation. If its appropriate, I can create a new issue for D9 php 8 compatibility, but figured I'd comment here as it's possible a backport of the work done on this issue would be appropriate.
Comment #19
t-lo@devkinetic I'd suggest PHP 8 D9 would need to be a separate issue, as we've had to switch akamai library dependencies (to https://github.com/francemediasmonde/akamaiopen-edgegrid-php-client) here to accommodate Drupal 10's switch to psr/log 3.x.
You may find switching to the main akamai-open/edgegrid-client library resolves some of your issues for PHP 8 D9
Comment #20
t-lo@moshe, I see the request to add GitLab CI was approved and the section now appears, however pipelines appear to be disabled.
I added an initial .gitlab-ci.yml file in this branch hoping that would trigger it but it's not run.
I wonder if someone with higher permissions on the repo needs to enable pipelines?
Comment #21
mile23Comment #23
moshe weitzman commentedI touched this up and merged into a new 5.x branch. I've tagged a 5.0-rc1 release.
FYI we are now using Gitlab CI from the Drupal Assoc for 4.x and 5.x branches.
For more info on 4.x branch, see https://www.drupal.org/project/akamai/issues/3349938 (will be merged soon)
Thanks everyone!
Comment #25
euphoric_mv commentedHi,
We are upgrading Drupal from 9 to 10, and we have to upgrade the Akamai module to version 5, but we have a problem with the version of package
akamai-open/edgegrid-client. It requires version^2.0.5but the latest version of that package is2.0.0and the composer is complaining about that.Should I create a new issue for that problem?
Comment #26
t-lo@euphoric_mv see the readme file for the modification to your root composer file to import the correct dependancy.
Comment #27
euphoric_mv commented@t-lo Thank you