Problem/Motivation

In preparation for Drupal 10, we need to mainly address https://www.drupal.org/node/2940438 (drupal_get_path deprecation). There's also changing from public => protected for static $modules in tests. And lastly, we need to allow the site to run on D10. Let's see how that all shakes out.

Update

The work below is all on the 2.x branch. For 8.x-1.x see #3331246: Drupal 10 compatibilty for Scheduler 8.x-1.x

CommentFileSizeAuthor
#2 3271462.patch9.55 KBheddn

Issue fork scheduler-3271462

Command icon 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

heddn created an issue. See original summary.

heddn’s picture

Status: Active » Needs review
StatusFileSize
new9.55 KB
heddn’s picture

OK, so it falls on its face w/ D10 because of dependencies that don't (yet) support D10. But that doesn't need to keep this project from preparing for D10, right?

jonathan1055’s picture

Thanks for starting this off. Yes we can prepare for D10.
Because Scheduler 2.0 will be compatible with D8 and D9 (and I'm not dropping D8 support any time soon) we need to work out what release or version D10 compatibility will come in. I don't think there is any great hurry to commit this yet.

jonathan1055’s picture

Yes you are right that the patch needs a re-roll.

#3042677: Drupal 9 Deprecated Code Report for Scheduler is not related, there was no recent commits on that issue, I just closed it as fixed.
#3311425: Replace warning for no entity type with an explanation in the menu is not related, there is no conflict with this patch.

However #3289475: Automated Drupal 10 compatibility fixes - Scheduler 2.x is related, as that is where the deprecation fix commits originated from.

The only other Drupal 10 deprecation remaining at this point is
#3312069: ModuleHandlerInterface::getImplementations() is deprecated in 9.4

jonathan1055’s picture

Issue summary: View changes
Status: Needs work » Needs review
Issue tags: -Needs reroll

I have created a branch and pushed everyting from your initial patch except the fixes that have already been done. This won't run at D10 yet, but we should see the same problems as you found in the patch test. Then we can go from there.

jonathan1055’s picture

There's something up with gitlab, the MR does exist https://git.drupalcode.org/project/scheduler/-/merge_requests/60 but it is not being shown at the top of this issue. Signing in to gitlab fails atm, so maybe that's the problem.

jonathan1055’s picture

Running with PHP8.1 is required for D10, of course. So ignore the PHP7.4 test run.

Devel Generate 5.x is required for D10
Workbench Moderation and Workbench Moderation Actions do not exist for D10 yet, and probably never will. So we might need to drop testing those at D10 but maintain the tests somehow when running D9. Anyway, that's for later.

jonathan1055’s picture

The 9.4 test will fail because I dropped the two Workbench Moderation modules.

jonathan1055’s picture

Removing the related 'automated' issue as that is a child issue now.

heddn’s picture

Seems some of the remaining D10 failures are related to https://www.drupal.org/node/3000490

jonathan1055’s picture

Yes, see my comment in #6 and the linked issue.

heddn’s picture

Shall we create a combined patch to see if there is anything else hidden behind it?

jonathan1055’s picture

"a combined patch"
I'm not sure what you mean, as there is no patch on that other issue. I have run the full test suite on Travis with deprecations not suppressed, and there are no other deprecations listed in the Scheduler code.

Testing at D10 will mean we have to drop testing with workbench_moderation because that module does not yet have a D10 version (and is unlikely to, given that content moderation is now in core). But the scheduler 2.x branch can still support workbench_moderation, so we could conditionally include the workbench tests when testing at D9 only.

chandu7929 made their first commit to this issue’s fork.

chandu7929’s picture

I think combine patch means, having all issue fix here in one MR and use patch https://git.drupalcode.org/project/scheduler/-/merge_requests/60.patch to test overall D10 readinesses.

Rajeshreeputra made their first commit to this issue’s fork.

ankitv18’s picture

Assigned: Unassigned » ankitv18
rajeshreeputra’s picture

Status: Needs review » Reviewed & tested by the community

Reviewed and tested, this works best with MR created in issue #3312069, hence RTBC.

jonathan1055’s picture

Status: Reviewed & tested by the community » Needs review

It is not RTBC when there are test failures. This is the parent issue for D10 compatibility so it will only be completed when all the child issues are done. The merge request on this issue (MR60) makes the version and requirements changes to allow testing at D9 and D10 to show the current state of the work.

lisa.rae’s picture

vishalkhode’s picture

Hi @ jonathan1055
Looks like all CI is passing with Drupal 9, 10 etc. Any plan for making this merge back to 2.x-dev and next RC or Stable release ?

jonathan1055’s picture

Issue summary: View changes

Temporary change to have suppress-deprecations: false in the three phpunit runs. Just as final check before commit.

  • jonathan1055 committed 0559870 on 2.x
    Issue #3271462 by jonathan1055, Rajeshreeputra, heddn, chandu7929,...
jonathan1055’s picture

Title: Drupal 10 preparation » [META] Drupal 10 preparation
Status: Needs review » Fixed

Merged and Fixed. Thank you all for your contributions.

I need to work on one other Scheduler issue and will then release 2.0-rc6. Hopefully this will have no problems, then Scheduler 2.0 will follow in a couple of weeks.

jonathan1055’s picture

Weirdly, after the commit, the 2.x branch test fails at D10 with composer requirements failure. From the log we have:

Adding testing (require-dev) dependencies.
Composer Command: sudo -u www-data /usr/local/bin/composer require 'drupal/commerce:^2.0' 'drupal/devel_generate:>=4' 'drupal/rules:^3' 'drupal/workbench_moderation:*' 'drupal/workbench_moderation_actions:*' 'drush/drush:>=9' --prefer-stable --no-progress --no-suggest --working-dir /var/www/html

drupal/workbench_moderation[dev-1.x, 1.6.0, ..., 1.x-dev] require drupal/core ^8.8 || ^9 -> satisfiable by drupal/core[8.8.0-alpha1, ..., 8.9.x-dev, 9.0.0-alpha1, ..., 9.5.x-dev]

But the workbench_moderation modules have been deleted from the project's composer.json. That was done in an earlier commit. The MR branch ran cleanly at D10 so I do not know why it is still trying to load those modules.

  • jonathan1055 committed adf16fb on 2.x
    Issue #3271462 by jonathan1055: Remove workbench_moderation as...
jonathan1055’s picture

Following the above commit in #30 the branch test now passes at D10. The workbench_moderation dependencies were still in scheduler.info.yml and it is a quirk of how drupalci re-evaluates changed dependencies on patch tests and MRs - if composer.json is changed then it is respected and anything from .info.yml is ignored. But when a branch test is run the dependencies from both composer.json and .info.yml are amalgamated. This is why the MR passed at D10 but after committing, the branch test failed.

jonathan1055’s picture

This issue is marked Fixed (and will become closed) as all known work is done as far as we know. However the two automated bot issues should remain open in case they find anything new.

jonathan1055’s picture

I have released 2.0.0-rc6 which includes full Drupal 10 compatibility.

Providing there are no problems reported I will release Scheduler 2.0.0 in the week starting 7th November (two and half weeks after rc6)

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

jonathan1055’s picture

Issue summary: View changes

For info, I am also working on Drupal 10 compatibility for the 8.x-1.x branch
#3331246: Drupal 10 compatibilty for Scheduler 8.x-1.x