Problem/Motivation
The webship-js-test-drupal-core job fails, and it is a blocking job (allow_failure: false). It takes the whole pipeline down — every test job after it is skipped.
$ drush recipe tests/fixtures/marketing_campaign_test_base Installed 4 modules: Media, Media Library, Drupal Canvas, Canvas Override. In FieldConfig.php line 320: Attempted to create, modify or delete an instance of field with name field_tags on entity type node when the field storage does not exist.
tests/fixtures/marketing_campaign_test_base ships the field instance field.field.node.marketing_campaign.field_tags.yml but no matching storage. It ships storages for its other fields (body, field_image, field_canvas_layout) and relied on the install profile providing field.storage.node.field_tags.
That assumption no longer holds. The job installs the Standard profile (drush site:install standard), and in current Drupal core the Tags field has moved out of the Standard profile into the separate article_tags recipe — core/recipes/article_tags/config/field.storage.node.field_tags.yml. There are no field_tags files under core/profiles/standard at all. So a Standard install no longer creates that storage and the recipe fails.
This is core drift, not a regression in this module: the last green pipeline on 1.0.x was 840529 on 8 June 2026, and nothing in the module changed the recipe since.
The webship-js-test-drupal-cms job still passes, because Drupal CMS does ship field_tags storage.
Steps to reproduce
drush site:install standardon current Drupal core.drush recipe tests/fixtures/marketing_campaign_test_base.- The recipe aborts with the
FieldConfig.php line 320error above.
Proposed resolution
Make the fixture self-contained instead of depending on what the profile ships, matching how its other fields are already handled:
- Add
tests/fixtures/marketing_campaign_test_base/config/field.storage.node.field_tags.ymlso the storage exists on any profile. - Set
strict: falseunder the recipe'sconfig:key, so on a profile that already shipsfield_tags(Drupal CMS) the recipe reuses the existing storage instead of failing on a mismatch.
The field name stays field_tags — tests/selectors/canvas_override.json and tests/step-definitions/canvas_override.steps.js both reference it, so renaming would churn the test suite for no benefit.
Remaining tasks
- ✅ File an issue
- ✅ Identify the failing job and the exact error
- ✅ Confirm the Tags field moved from the Standard profile into core's article_tags recipe
- ✅ Confirm this is core drift, not a module regression
- ✅ Add the missing field storage to the fixture
- ✅ Set strict: false on the recipe config
- ✅ Confirm the pipeline goes green on both Drupal core and Drupal CMS
- ➖ UX/UI designer responsibilities
- ➖ Readability
- ➖ Accessibility
- ➖ Performance
- ➖ Security
- ➖ Developer Documentation
- ➖ User Guide Documentation
- ➖ Reviewed by human
- ➖ Code review by maintainers
- ➖ Full testing and approval
- ➖ Credit contributors
- ➖ Review with the product owner
- ➖ Release notes snippet
- ✅ Release
User interface changes
- N/A
API changes
- N/A
Data model changes
- N/A
Release notes snippet
- Fixes the automated functional test recipe failing on Drupal core after the Tags field moved out of the Standard profile.
- AI (Claude Code) assisted with diagnosis and the fix; reviewed and verified by the human contributor (Rajab Natshah), who is responsible for logic, security and licensing.
Issue fork canvas_override-3615667
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
Comment #4
rajab natshahComment #5
rajab natshahComment #6
rajab natshahComment #7
rajab natshahComment #8
rajab natshah✅ Released canvas_override-1.0.0-beta2
Comment #10
rajab natshah