Opt some core recipes out of strict config comparisons

Created on 18 October 2024, 4 months ago

Problem/Motivation

Most of core's recipes still use strict comparisons against existing config. This is in some (most?) cases unnecessary, and it breaks Starshot because it builds upon on some core recipes, but the strict comparison makes these recipes not reapplyable.

We should relax core's recipes in as many places as makes sense. We should do this independently of ✨ Consider making recipes' comparison with existing config lenient by default Active since the full implications of doing that haven't been fully thought out yet, and core's recipes are now entitled to have their own opinion separate from the default.

πŸ› Bug report
Status

Active

Version

11.0 πŸ”₯

Component

recipe system

Created by

πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

Live updates comments and jobs are added and updated live.
  • Starshot blocker

    A potential blocker for Drupal Starshot. More information: http://www.drupal.org/project/starshot

Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @phenaproxima
  • Merge request !9878Relax some core recipes β†’ (Open) created by phenaproxima
  • πŸ‡¬πŸ‡§United Kingdom catch
  • Pipeline finished with Canceled
    4 months ago
    Total: 142s
    #313852
  • Pipeline finished with Success
    4 months ago
    Total: 356s
    #313857
  • Pipeline finished with Failed
    4 months ago
    Total: 550s
    #313939
  • πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

    This won't need explicitly test coverage, because it's just opting into (or out of) existing core APIs which are tested separately.

    As of this comment, the proposed changes involve relaxing nearly every core recipes' comparisons with existing config. In general I think this is safe, and will more or less align with what recipe consumers expect (if I reapply it, my existing config will not be touched, unless I force-apply, which is not yet supported).

    Field storages, I think, should almost always be treated strictly since they influence the database layout and how field instances are treated by the rest of the system. It seems unsafe to be lenient with a field_image field storage that you expect to be an image field, since some weirdo site builder could have a text field called field_image, which would be a completely different animal to be dealing with and fundamentally changes what the recipe could do with instances of that field.

    Field instances probably don't need to be treated strictly because they are tightly coupled to the field storages, and I don't think the field type could differ from the field storage type (at least not without causing the most nightmarish and destructive of bugs -- if such a discrepancy is even possible).

  • Pipeline finished with Success
    4 months ago
    Total: 669s
    #313961
  • πŸ‡ΊπŸ‡ΈUnited States thejimbirch Cape Cod, Massachusetts
    • alexpott β†’ committed 0c7224ab on 10.4.x
      Issue #3481751 by phenaproxima, thejimbirch: Opt some core recipes out...
    • alexpott β†’ committed d177974f on 11.x
      Issue #3481751 by phenaproxima, thejimbirch: Opt some core recipes out...
  • πŸ‡¬πŸ‡§United Kingdom alexpott πŸ‡ͺπŸ‡ΊπŸŒ

    Committed and pushed d177974f854 to 11.x and 0c7224ab46e to 10.4.x. Thanks!

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

Production build 0.71.5 2024