Problem/Motivation

For testing the removal of Stable.

Steps to reproduce

Use @bbrala's excellent instructions as a basis: #3303780: Manually test QuickEdit module removal

Install Drupal 9.4

  1. Install Drupal 9.4 composer create-project drupal/recommended-project:9.4.* drupal-stable
  2. Move into the directory cd drupal-stable
  3. Enable development settings cp web/sites/example.settings.local.php web/sites/default/settings.local.php
  4. Add Drush composer require drush/drush
  5. Install with Umami vendor/bin/drush si demo_umami
  6. Enable settings.local.php at the end of web/sites/default/settings.php

Require and enable particles_orange which uses stable as base theme

  1. composer require drupal/particles_orange
  2. Log into the site and enable and set as default particles_orange.
  3. Go to articles and see the correct theme applies

Upgrade to Drupal 10 and test again

  1. composer config minimum-stability dev
  2. Make sure composer doesn't cry about the installed theme:
    composer require mglaman/composer-drupal-lenient
    composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/particles_orange"]'
  3. update composer.json to require drupal 10:
    composer require drupal/core-composer-scaffold:10.0.x-dev drupal/core-project-message:10.0.x-dev drupal/core-recommended:10.0.x-dev drush/drush --no-update
    Run composer update
  4. Remove stable
    rm -rf web/core/themes/stable
    vendor/bin/drush cr
  5. Now check the site, the sites should be broken with a missing theme message
  6. Require contrib stable composer require drupal/stable
  7. Now check the site, the theme should load! Yay

Proposed resolution

Remaining tasks

none

User interface changes

API changes

Data model changes

Release notes snippet

Comments

quietone created an issue. See original summary.

bbrala’s picture

Just tested classy: #3309319: Manually test upgrade core Classy to contrib Classy. Use that as base for the manual testing.

bbrala’s picture

bbrala’s picture

One thing to note. Classy was already removed, if stable has not yet been removed you need to either apply the removal patch or remove the theme directory when upgraded to 10 in the steps. This was done like this for the module removal testing also and vetted as a proper way by core comitters.

bbrala’s picture

Issue summary: View changes
bbrala’s picture

Issue summary: View changes
bbrala’s picture

Issue summary: View changes
bbrala’s picture

Status: Active » Needs review

Well, i thought, why not.

I've updated IS with steps, and went through them all. Everything works as expected, went from 9.4 to 10.0 succesfully without stable in core.

bbrala’s picture

Issue summary: View changes
kristen pol’s picture

I used ddev so my steps were a little different:

Install Drupal 9.4

  1. Create the directory: mkdir drupal-stable
  2. Move into the directory: cd drupal-stable
  3. Configure ddev: ddev config --project-type=drupal9 --docroot=web --create-docroot
  4. Start ddev: ddev start
  5. Add Drupal 9.4: ddev composer create drupal/recommended-project:9.4.* --no-install
  6. Add Drush: ddev composer require drush/drush --no-install
  7. ddev composer install
  8. Install with Umami: ddev drush site:install demo_umami -y

Require and enable particles_orange which uses stable as base theme

Same as in issue summary.

Upgrade to Drupal 10 and test again

  1. ddev composer config minimum-stability dev
  2. Make sure composer doesn't cry about the installed theme:
    ddev composer require mglaman/composer-drupal-lenient

    I got to this point and then got a PHP version error so I'll see what I can do to get around this:

    kristens-mbp:drupal-stable kristenpol$ ddev composer require mglaman/composer-drupal-lenient
    Info from https://repo.packagist.org: #StandWithUkraine
    Cannot use mglaman/composer-drupal-lenient's latest version 1.0.2 as it requires php >=8.1 which is not satisfied by your platform.
    
    In PackageDiscoveryTrait.php line 313:
                                                                                                                                         
      Package mglaman/composer-drupal-lenient has requirements incompatible with your PHP version, PHP extensions and Composer version:  
        - mglaman/composer-drupal-lenient 1.0.2 requires php >=8.1 which does not match your installed version 8.0.18.                   
                                                                                                                                         
    
    require [--dev] [--dry-run] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--fixed] [--no-suggest] [--no-progress] [--no-update] [--no-install] [--no-audit] [--audit-format AUDIT-FORMAT] [--update-no-dev] [-w|--update-with-dependencies] [-W|--update-with-all-dependencies] [--with-dependencies] [--with-all-dependencies] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--] [<packages>...]
    
    composer [require mglaman/composer-drupal-lenient] failed, composer command failed: exit status 1. stderr=
    
kristen pol’s picture

Trying above again but with bumping up php in ddev to get past the version issue:

Install Drupal 9.4

  1. Create the directory: mkdir drupal-stable
  2. Move into the directory: cd drupal-stable
  3. Configure ddev: ddev config --project-type=drupal9 --docroot=web --create-docroot
  4. Start ddev: ddev start
  5. Add Drupal 9.4: ddev composer create drupal/recommended-project:9.4.* --no-install
  6. Add Drush: ddev composer require drush/drush --no-install
  7. Install: ddev composer install
  8. Install with Umami: ddev drush site:install demo_umami -y

Require and enable particles_orange which uses stable as base theme

  1. ddev composer require drupal/particles_orange
  2. Log into the site and enable and set as default particles_orange.
  3. Go to articles and see the correct theme applies

Upgrade to Drupal 10 and test again

  1. ddev composer config minimum-stability dev
  2. Edit .ddev/config.yaml
  3. Change 8.0 to 8.1 for php_version
  4. Restart ddev: ddev restart
  5. Make sure composer doesn't cry about the installed theme:
    ddev composer require mglaman/composer-drupal-lenient
    ddev composer config --merge --json extra.drupal-lenient.allowed-list '["drupal/particles_orange"]'
  6. update composer.json to require drupal 10:
    ddev composer require drupal/core-composer-scaffold:10.0.x-dev drupal/core-project-message:10.0.x-dev drupal/core-recommended:10.0.x-dev drush/drush --no-update
  7. Run ddev composer update
  8. Remove stable theme code: rm -rf web/core/themes/stable
  9. Clear cache: ddev drush cr
  10. For me, I got a WSOD
  11. Require contributed stable theme: ddev composer require drupal/stable
  12. Clear cache again: ddev drush cr
  13. Now check the site, the theme should load! Yay :)
  14. Note that I checked the logs and see the error: Drupal\Core\Theme\MissingThemeDependencyException: Base theme stable has not been installed. in Drupal\Core\Theme\ThemeInitialization->getActiveThemeByName() (line 115 of /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeInitialization.php).
kristen pol’s picture

StatusFileSize
new325.39 KB

I went through the steps in #12 again from scratch. One thing I didn't notice the first time is that my images aren't loading after upgrading to D10 and finishing step 12.

The logs show notices like:

Source image at public://veggie-pasta-bake-umami.jpg not found while trying to generate derivative image at public://styles/large_3_2_2x/public/veggie-pasta-bake-umami.jpg.

kristen pol’s picture

Status: Needs review » Reviewed & tested by the community

I turned off mutagen and went through the steps again from #12 and the images show up fine so ignore the image thing above.

Note the steps in 12 are equivalent to the steps in the issue summary but just using ddev.

Everything works as expected other than there was a discussion on whether or not we could avoid the WSOD but I think the decision was that it would not be easy to handle that for the theme.

As such, marking RTBC. Thanks, everyone!

catch’s picture

Status: Reviewed & tested by the community » Fixed

Thanks for all the testing! I think we can mark this done.

Status: Fixed » Closed (fixed)

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