Scheduler's composer.json has
"require-dev": {
...
"drupal/rules": "^3",
to allow us to run the Scheduler Rules Integration tests. However the Rules module does not yet have a D9 compatible version, so this is stopping Scheduler from being able to run tests at Drupal 9.x
Update
Until Rules is 9.x compatible, the requirements on Rules have been removed from the latest Scheduler -dev. This allows Scheduler to be 9.x compatible and for tests to be run at 9.0 and 9.1
Scheduler release 8.x-1.3 does not have the above changes, and the Rules requirements remain in, because the release is primarily aimed at actual users running 8.x. If you want to use Scheduler on a Drupal 9 site, you can either download the latest -dev version, or patch 8.x-1.3 with patch #20. Please report here any difficulties and I will try to help.
| Comment | File | Size | Author |
|---|
Comments
Comment #2
jonathan1055 commentedHere's an idea, to not require-dev "drupal/rules": "^3" and skip the tests if running at D9.
Not sure this will work at D8, but worth trying.
Comment #4
jonathan1055 commentedThe D9 composer failure is because it is being loaded before the patch has chance to take effect. To get round this we'll have to commit the change to remove drupal/rules, the could use a patch in drupalci.yml to add it back in if not running D9. It would mean that local testing using the compoer.json file would not get the Rules module, but chances are the local environment would already have Rules, or the developer would know and manually add it.
It's worth a try, can always back out if it's a poor idea.
Comment #6
jonathan1055 commentedBefore, in the D9 branch test we had
With this commit we have
Rules is still being required, but now
drupal/rules:*instead ofdrupal/rules:^3Is this due to the scheduler_rules_integration module, which has
"drupal/rules": "^3.x"or maybe it is because scheduler.info.yml hasComment #9
jonathan1055 commentedWe had the same branch composer failure. Now after removing from sub-module too, we get a failure on devel_generate. The 2.x branch is not D9 compatible, but the latest 3.x-dev is.
Comment #12
jonathan1055 commentedAllow devel_generate 2.0 or 3.x-dev, and allow drush 9.0 or 10.0
Comment #15
jonathan1055 commentedThat's better. The composer conflicts are sorted and D9 tests now actually start, and so do the D8 tests. Need to skip the Rules test classes as in the commit above.
Comment #16
jonathan1055 commentedFor the future, here is a patch which restores the Rules requirements and testing. This can be used when Rules has a D9-compatible version, or when there is an alternative way to use Rules in D8 but not in D9.
Comment #17
jonathan1055 commentedComment #18
jonathan1055 commentedStale form data.
Comment #20
jonathan1055 commentedHere's a single patch to remove the Rules requirements, to allow testing at D9
Comment #21
jonathan1055 commentedCannot test this patch at D9, but it is exactly the same as the multiple commits done previously on this thread, so it will run OK on D9 when committed. This will allow the 'Test on commit' for D9 to run again.
Comment #23
jonathan1055 commentedThis should remain as an active issue until Rules has a 9.x version we can use in our 9.x testing.
Comment #25
jonathan1055 commentedUpdated summary to explain how to use Scheduler 8.x-1.3 with Drupal 9
Comment #26
jonathan1055 commentedRules is now compatible at Core 9.x so we can restore the requirements and tests.
Comment #28
jonathan1055 commentedNo that I have fixed the missed deprecations in the ActionsTest on #3097919-17: Deprecations: Replace non-boolean use of assertTrue() and assertFalse() we should get better results.
Comment #30
jonathan1055 commented