Tested on Drupal 9.18, maybe this module is not compatible with 9?
Using composer update, update to version 3.6.0
Run drush cr
See the following error message on the console and site is not accessible with the same error message as the console:
Missing required key ("base theme") in modules/contrib/upgrade_status/tests/themes/upgrade_status_te
st_theme/upgrade_status_test_theme.theme/upgrade_status_test_theme.theme, see https://www.drupal.org
/node/3066038
Downgrade to 3.5.0 and error disappears, cache clears as usual, site is up again.
In 3.6.0 there is no base theme noted in the
"/contrib/upgrade_status/tests/themes/upgrade_status_test_theme/upgrade_status_test_theme.theme/upgrade_status_test_theme.info"
In 3.50 base theme is set to
base theme: false on line 5
| Comment | File | Size | Author |
|---|---|---|---|
| #10 | 3219968-10.patch | 2.6 KB | gábor hojtsy |
| #7 | 3219968-7.patch | 621 bytes | gábor hojtsy |
| #3 | 3066038-readd-base-theme-prop-in-info.patch | 618 bytes | jklmnop |
Comments
Comment #2
namscott commentedComment #3
jklmnop commentedI got this error too, during `$ drush updatedb` on a Drupal 9.2 site.
I rolled a patch, in case anyone needs it. It works with versions 8.x-3.6 and 8.x-3.x-dev
Should note that I could only get it to apply the patch by running `$ composer require drupal/upgrade_status --prefer-source`.
Comment #4
gábor hojtsyDuh. Its missing on purpose, so we can test that. Sending your "fix" for a test run to show that it would fail. Can we have the key missing in some other way, ie. hide the theme?
Comment #6
jklmnop commentedI understand that it’s probably meant to be that way, but if it causes updatedb (or other things) to fail, it’s broken.
I needed it to work on a site, that’s all the “fix” does; get it to work. I don’t need to test a contrib module, I need my site to work.
It’s merely a stop gap until it’s fixed for those in similar situations to myself.
Comment #7
gábor hojtsyThat makes sense. For me as a maintainer, I am looking for a patch I can commit and ideally hotfix for release. What about altering the info file data at runtime instead? (Which does not affect Upgrade Status' checking given that we read the raw info files).
Comment #8
gábor hojtsy@namscott, @jklmnop: can you try my patch instead? AFAIS that should help us keep the test and keep the site working at the same time. I checked
core/tests/Drupal/KernelTests/Core/Theme/BaseThemeMissingTest.phpto see how they get around to this problem, but they construct the whole theme on a virtual file system which would not be compatible with the other checks we do in upgrade status.Comment #9
jklmnop commentedThank you for working on this!
The patch applies just fine, but the site still doesn't work. When I go to `admin/reports/updates` or run`drush cr` I get the same exception. Here is the stack trace, if that helps.
Comment #10
gábor hojtsyOk, that is unfortunate. Thanks for testing! Let's undo the testing part for now then.
Comment #11
gábor hojtsyComment #13
gábor hojtsyCommitted this, will make a release today. Thanks again!
Comment #14
jklmnop commentedThanks again for addressing this, @gábor-hojtsy! Sorry it meant removing the test for the time being.
For anyone trying to apply patch #10 to
8.x-3.6, you'll probably have to run$ composer require drupal/upgrade_status --prefer-sourcesince the patch includes a change toupgrade_status_test_theme.info.yml. The patch will not successfully apply to thedistsince the file gets versioned via the packager which adds lines to the file. You might also notice that the module shows "Invalid version: Unknown" on theadmin/reports/updatepage too. Not a big deal, just FYI.Comment #15
gábor hojtsyI released https://www.drupal.org/project/upgrade_status/releases/8.x-3.7 immediately with the fix, so that should be good to update to. People newly updating should avoid 3.6 entirely :)
Comment #16
jklmnop commentedexcellent! :D
just updated to 8.x-3.7, works perfectly!
Comment #17
namscott commentedtested 3.7 and looks good, thanks!