What a delivery looks like
This is a real run of our pipeline on a test site we built to look like a typical client site, so you can see the evidence before you order.
| Before | Drupal 10.2.7, Drush 12, CKEditor 4, 13 contrib modules, Book + Forum, a custom module using 4 removed APIs, and a theme based on Classy |
| After | Drupal 11.4.12, Drush 13, CKEditor 5 on every text format, contrib on Drupal 11 releases, Book and Forum from contrib |
| Upgrade Status (custom code) | No issues |
| PHPStan deprecation rules (custom code) | 6 errors → 0 deprecations, on both 10.6 and 11.4 |
| drush updb / updatedb:status | Success, with no pending updates and no pending entity schema updates |
| Smoke test | /, /user/login, /node/1, /node/2, /forum, /book all return HTTP 200 |
| Rollback drill | Release 1 code + pre-upgrade database boots and serves 200s |
| Pre-existing bugs we found but didn't change | 2 (a call to an undefined function in cron, and a missing include file), reported in the runbook for you to decide |
What you receive
- A pull request, or 4
git am-ready patches, split into two releases. Drupal 11 only updates databases already on 10.3+, and CKEditor 4 must be uninstalled while its code is still present. - A deploy runbook covering server requirements, backups, the exact commands for each release, what to check afterwards, and rollback.
- The verification logs. See the final Drupal 11 verification log from this run.
- An example patch: custom code moved to Drupal 11 APIs and CKEditor 4 → 5.