Problem/Motivation
We've been trying to reproduce core testing with DrupalCI on GitLab CI in this project: https://www.drupal.org/project/gitlab_ci_testbed_for_drupal_core
There are regular updates on the progress in the #gitlab community slack channel as well as in issues created in that project.
We have been able to successfully get to run all of core tests suites and linting checks with MySQL and PosgreSQL (there are issues for SQLite and MariaDB and Drupal 7), so we think that we can start trying GitLab CI for core.
Steps to reproduce
Drupal core is not currently configured to run tests in GitLab CI.
Proposed resolution
Add the GitLab CI related files, and start testing DrupalCI and GitLab CI in parallel. Then consider turning off some DrupalCI tasks when GitLab CI seems stable enough to make the switch.
Remaining tasks
MR.
User interface changes
None.
API changes
None.
Data model changes
None.
Release notes snippet
Drupal core now runs tests in GitLab CI.
Issue fork drupal-3386076
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:
- 3386076-gitlab-ci-integration
changes, plain diff MR !4724
Comments
Comment #3
fjgarlin commentedComment #4
catchComment #5
longwaveWell, at least it caught some valid typos :)
The others need cspell:ignore I think, or perhaps adding to the dictionary.
Comment #6
longwaveWe should wrap all comments at 80 characters in the YAML files to match our standards.
Comment #7
catchThis is critical for core test performance and also for Drupal.org gitlab migration, so bumping priority.
Happy to commit this as soon as the comment feedback above is cleaned up and then we can keep going in other issues, and figure out exactly which bits of DrupalCI to switch off.
Comment #8
fjgarlin commentedThere has been really good progress here: #3386091: [PP-1] Reduce test pipeline times to around 18 minutes and always report back unit tests
We are getting total run times of less than 20 minutes now.
I've suggested that those changes be merged here so we have only one source of truth to review for GitlabCI integration.
Comment #13
larowlanCrediting those who worked in the sandbox
Comment #15
larowlanAnd those who helped at Drupal south code sprint
Comment #17
catchComment #18
catchTwo more nits on the MR, for me the only thing blocking commit of this is the nightwatch failures which seem pretty consistent.
Comment #19
fjgarlin commentedFixed.
I've also addressed all the feedback that was in the MR that can be addressed from here. There is a comment from @longwave which I don't know if it can be addressed here or in a follow up.
Comment #21
larowlanCrediting alex who also worked in the sandbox
Comment #22
larowlanComment #23
longwaveThanks for working on this, this is looking really good. Added some questions and comments, some of which can be dealt with in followups.
Comment #24
poker10 commentedAdded few very minor nits regarding comments/whitespaces to the MR.
Comment #25
catchLast commit results in
CSpell: Files checked: 1, Issues found: 0 in 0 fileswhich should be correct I think.Comment #26
catchI think that is probably all feedback resolved. Opened this follow-up #3386841: Reconcile gitlab lint jobs and commit-code-check.sh. Back to needs review.
Comment #27
longwaveSome nits around consistency in the templates, but I think this is almost ready for RTBC and continuing improvements in followups.
Comment #28
fjgarlin commentedAddressed all the feedback.
Comment #29
longwaveThanks! This looks ready to go, I've gone over all changes a couple of times and can find nothing left to nitpick over - see you all in the followups.
Comment #31
catchMoving this to 10.1.x for backport. We need to tweak the central gitlab templates so that branch tests actually run after a branch commit, so will backport to 10.1.x as soon as this is done.
Comment #33
catch11.x pipeline: https://git.drupalcode.org/project/drupal/-/pipelines/19594
10.1.x pipeline: https://git.drupalcode.org/project/drupal/-/pipelines/19603
A bit more work to do before we can switch of DrupalCI but this is a massive improvement in so many ways. Marking fixed!