- Issue created by @wim leers
- Merge request !4536Issue #3379104: [meta] Test against CKEditor 5 nightly โ (Open) created by wim leers
- Open on Drupal.org โEnvironment: PHP 8.2 & MySQL 8last update
over 1 year ago Not currently mergeable. - last update
over 1 year ago 556 pass, 2 fail - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Done, and provided instructions to update this MR ๐
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Alright, that's a success! ๐ https://www.drupal.org/pift-ci-job/2732147 โ failed on the exact problem that was discovered when creating the MR for the latest CKEditor 5 upgrade ( #3377562-14: Update CKEditor 5 to 39.0.0 โ ), this clearly would have surfaced it a long time ago ๐
I'll update this periodically. In my absence, anybody else can do the same using the commands in the issue summary ๐
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Linking the automated CKEditor 5 nightly changelog: https://github.com/ckeditor/ckeditor5/issues/14724 ๐ฅณ
- Open on Drupal.org โEnvironment: PHP 8.2 & MySQL 8last update
over 1 year ago Not currently mergeable. - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Refined commands as I did the first update ๐
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
That MR didn't apply anymore. The reason being: the upstream had changed from
38.1.0
to39.0.0
in the mean time.So updating the issue summary for how to deal with that.
- last update
over 1 year ago 548 pass, 2 fail - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
๐ Update CKEditor 5 to 39.0.1 Fixed landed, redid the MR again ๐
- last update
over 1 year ago 586 pass - last update
over 1 year ago 586 pass - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Turns out
yarn install
does not do anything anymore once you're already on a nightly ๐Turns out we need
yarn upgrade --pattern ckeditor5
โฆ probably. Seems like nobody really knows how to make this package manager do what you want: just what you want and nothing more.Tweaked the issue summary once moreโฆ
- last update
over 1 year ago 586 pass - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Worked like a charm this time! ๐
- last update
about 1 year ago 539 pass, 6 fail - Assigned to wim leers
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Now that ๐ [upstream] Update CKEditor 5 to 40.0.0 Needs review is in, tests are green again, and I should get this going again.
- ๐ฌ๐งUnited Kingdom catch
I wonder if we could make a special purpose pipeline that runs on a weekly schedule and not alongside the other pipelines, that updates to ckeditor5 nightly and runs just the ckeditor5 tests. It could do a similar thing to what the new performance job that just landed does in terms of exclusive scheduling.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
@catch I'd love to do that! As you can see in the issue summary, I've already scripted it anyway. I'll do that! ๐ค When I started this, core wasn't yet on GitLab CI and I knew far less about it. Should be easy now ๐
- @wim-leers opened merge request.
- Status changed to Needs review
about 1 year ago 11:30am 10 November 2023 - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
First step is made: https://git.drupalcode.org/project/drupal/-/merge_requests/5325/diffs?co... :)
Also:
yarn
is weird. - First commit to issue fork.
- @justafish opened merge request.
- Assigned to justafish
- Status changed to Needs work
about 1 year ago 10:09am 13 November 2023 - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Getting closer, but the
CKEditor Nightly + PHP 8.2 MySQL 8
child pipeline is not yet copying the results of๐ CKEditor Nightly
into every job in that child pipeline. Without that, this won't work correctly.At a minimum, we'd need the
yarn
nightly update results to be applied when runningFunctionalJavaScript
andNightwatch
tests. - ๐ฌ๐งUnited Kingdom catch
At a minimum, we'd need the yarn nightly update results to be applied when running FunctionalJavaScript and Nightwatch tests.
Two options I think:
1. If the variable from the schedule is set, then make the child jobs require the artifacts from the nightly job.
2. Don't try to run the full test suite and instead manually call phpunit with @group ckeditor5 from the nightly job itself after building.
- ๐ฌ๐งUnited Kingdom catch
@Wim Leers no, but:
.with-composer-and-yarn: &with-composer-and-yarn needs: - pipeline: $PARENT_PIPELINE_ID job: '๐ฆ๏ธ Composer' - pipeline: $PARENT_PIPELINE_ID job: '๐ฆ๏ธ Yarn'
Yarn can be conditionally assigned to either the standard job or the ckeditor5 upgrade job I would think.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
AFAICT that's not supported per https://docs.gitlab.com/ee/ci/yaml/#needs.
https://stackoverflow.com/questions/70003527/gitlab-ci-does-not-support-... seems to confirm this.
- ๐ฌ๐งUnited Kingdom catch
Oh that is unfortunate.
I think we would essentially have to make the yarn job responsible for all the ckeditor nightly logic, but that does seem feasible.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
No time to work on the GitLab CI job today. Doing the manual process takes only a few minutes, so did that.
40.1.0
is shipping with Drupal 10.2 soon (thanks to ๐ Update CKEditor 5 to 40.1.0 Fixed ), so about time to start testing again against the current nightly. - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Wim Leers โ changed the visibility of the branch 3379104-cke5-nightly to hidden.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Wim Leers โ changed the visibility of the branch 3379104-cke5-nightly to active.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Wim Leers โ changed the visibility of the branch 3379104-cke5-nightly-ci to hidden.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
The current CKE5 nightly caused a regression. Looks like https://github.com/ckeditor/ckeditor5/commit/0647ba65cd09575937a9ba8e60b... caused this, because only
ImageUrlTest
is failing: https://git.drupalcode.org/issue/drupal-3379104/-/pipelines/60411/test_r.... - ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
๐ Update CKEditor 5 to 40.2.0 RTBC was merged, and shipped in Drupal 10.2.0 6 days ago. Time for testing the new nightly! https://git.drupalcode.org/project/drupal/-/merge_requests/4536/diffs?co...
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
~1 month after #30 (which passed tests ๐): testing against today's nightly: https://git.drupalcode.org/project/drupal/-/merge_requests/4536/diffs?co...
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Failed on spell check due to the
11.x
branch in this issue fork being so far behind. See ๐ Spell-checking job fails with "Argument list too long" when too many files are changed Active . Manually pushed a version of11.x
that matches the starting point of the current MR. - First commit to issue fork.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
Pushed newest nightly now that ๐ Spell-checking job fails with "Argument list too long" when too many files are changed Active is fixed ๐
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
I got it wrong โ I needed to rebase on top of the latest
11.x
. Done now ๐ - Assigned to wim leers
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
That's failing with
Uncaught TypeError: g.Model is not a constructor at drupalMedia.js?s9md41:1:33420 at Array.forEach (<anonymous>) at ie.getDropdownListItemDefinitions (drupalMedia.js?s9md41:1:33378) at Object.callback (drupalMedia.js?s9md41:1:34300) at Co.create (ckeditor5-dll.js?v=0.0.0-nightly-20240129.0:5:551016) at ckeditor5-dll.js?v=0.0.0-nightly-20240129.0:5:514855 at Array.map (<anonymous>) at et._buildItemsFromConfig (ckeditor5-dll.js?v=0.0.0-nightly-20240129.0:5:514763) at et.fillFromConfig (ckeditor5-dll.js?v=0.0.0-nightly-20240129.0:5:514621) at $._showToolbar (ckeditor5-dll.js?v=0.0.0-nightly-20240129.0:5:682145)
๐ฌ
- Issue was unassigned.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
I fixed #36 in ๐ Update CKEditor 5 to 41.2.0 Fixed . That just landed in core! ๐
Time to start chasing the nightly again. Just pushed that ๐
New releases expected in: April and May, June maybe.
- ๐ง๐ชBelgium wim leers Ghent ๐ง๐ช๐ช๐บ
The sole test failure seems unrelated and possibly a recent core regression:
Drupal\Tests\Composer\Plugin\Scaffold\Functional\ManageGitIgnoreTest::testUnmanagedGitIgnoreWhenGitNotAvailable Failed asserting that two strings are equal. --- Expected +++ Actual @@ @@ -'Scaffolding files for fixtures/drupal-assets-fixture:\n +'Composer could not detect the root package (fixtures/drupal-composer-drupal-project) version, defaulting to '1.0.0'. See https://getcomposer.org/root-version\n +Scaffolding files for fixtures/drupal-assets-fixture:\n - Copy [web-root]/.csslintrc from assets/.csslintrc\n - Copy [web-root]/.editorconfig from assets/.editorconfig\n - Copy [web-root]/.eslintignore from assets/.eslintignore\n