Skip to content

Drupal 9 Readiness

Joel Pittet edited this page Apr 11, 2019 · 12 revisions

Drupal 9 is planned to be released June 3, 2020. This document is to help explain how drupal-check can help you get ready!

I'm a contributor

Great! Every contribution helps make Drupal awesome!

An easy place to get started is to look at issues tagged with Drupal 9 compatibility and Novice, see https://www.drupal.org/project/issues/search?issue_tags_op=all+of&issue_tags=Drupal+9+compatibility%2C+Novice

Follow the Novice code contribution guide for more details.

I'm a module maintainer

During contribution sprints, contributors helped generate reports on over 300 of the most popular modules! You can see a list here: https://www.drupal.org/project/issues/search?issue_tags_op=all+of&issue_tags=Drupal+9+compatibility

If you're looking for tips on how to resolve some of the issues, see: Deprecation Error Solutions

Want to help enable contributors?

You can break out the drupal-check issues created during MidCamp into smaller tasks and tag them with Drupal 9 compatibility and Novice.

How can you run the report yourself?

  1. Go to an environment that has PHP 7.1 or higher

  2. Download the drupal-check executable:

    curl -O -L https://github.com/mglaman/drupal-check/releases/download/1.0.4/drupal-check.phar
    
  3. Move it to a directory in your path:

    mv drupal-check.phar /usr/local/bin/drupal-check
    chmod +x /usr/local/bin/drupal-check
    
  4. Create a clean Drupal directory:

    composer create-project drupal-composer/drupal-project:8.x-dev clean-drupal --no-interaction --stability=dev
    
  5. Ensure only dev versions are cloned for modules in this dir:

    cd clean-drupal
    composer config prefer-stable false
    
  6. Install your module into the directory:

    composer require drupal/your-module-name
    
  7. Run the analysis:

    drupal-check web/modules/contrib/your-module-name
    

If you run into an issue, please submit it to: https://github.com/mglaman/drupal-check/issues

What if I have no compatibility issues?

You can add this drupalci.yml file to indicate you are Drupal 9 ready!

https://gist.github.com/josephdpurcell/1c78367cedc15a075e4231a5a685ced9

This will ensure that deprecation errors are not suppressed during test runs on Drupal CI.

I have a Drupal 8 project

If you have a Drupal 8 project you want to get ready for Drupal 9 you can use this tool to see how close you are to upgrading.

Fist, ensure you are running the latest version of Drupal 8. Second, ensure you are running the latest versions of each of your contrib modules. Then, follow the steps below to run a report on your project:

  1. Go to an environment that has PHP 7.1 or higher

  2. Download the drupal-check executable:

    curl -O -L https://github.com/mglaman/drupal-check/releases/download/1.0.4/drupal-check.phar
    
  3. Move it to a directory in your path:

    mv drupal-check.phar /usr/local/bin/drupal-check
    chmod +x /usr/local/bin/drupal-check
    
  4. Copy your Drupal 8 project code locally

  5. Run the analysis:

    drupal-check docroot/modules/custom
    

If you have no issues then you at least know your modules are Drupal 9 ready! Now, to make sure your contrib modules are also Drupal 9 ready, you can run this command:

drupal-check docroot/modules/contrib

There are many compatibility improvements being made during DrupalCon Seattle 2019 on contrib modules, so consider waiting before checking contrib modules.

If you run into an issue with the drupal-check tool, please submit it to: https://github.com/mglaman/drupal-check/issues. If you find issues with contrib modules, look at issues tagged "Drupal 9 compatibility" on the module's project page.

You can’t perform that action at this time.