Problem/Motivation
We have the opportunity to alpha test GitLab CI, and we should capitalize on it. GitLab CI is easier to use and is the way of the future. As we're a newer initiative we can get in on the ground floor.
Proposed resolution
Remove Drupal CI in favor of GitLab CI.
Remaining tasks
- ✅ File an issue about this project
- ☐ Addition/Change/Update/Fix to this project
- ☐ Testing to ensure no regression
- ☐ Automated unit/functional testing coverage
- ☐ Developer Documentation support on feature change/addition
- ☐ User Guide Documentation support on feature change/addition
- ☐ Code review from 1 Drupal core team member
- ☐ Full testing and approval
- ☐ Credit contributors
- ☐ Review with the product owner
- ☐ Release
API changes
Testing, etc - all managed through gitlab-ci.yml moving forward.
Release notes snippet
TODO
Issue fork project_browser-3268636
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 #2
chrisfromredfinThere is a template from DrupalSpoons that might be helpful (h/t irinaz):
https://gitlab.com/drupalspoons/composer-plugin/-/blob/master/templates/...
Example using that template (h/t fjgarlin):
https://git.drupalcode.org/project/views_filters_summary/-/blob/1.0.x/.g...
Example pipeline result for views_filters_summary:
https://git.drupalcode.org/project/views_filters_summary/-/pipelines/4637
What we discover/uncover/do may be helpful to this issue (added as related):
https://www.drupal.org/project/infrastructure/issues/3265092
Comment #6
chrisfromredfinComment #8
chrisfromredfinFWIW the drop-in likely won't do it out of the box for us, but we can keep at it. I also just retried the pipeline in case it was a fluke from the curl or something.
https://git.drupalcode.org/project/project_browser/-/jobs/13891
Comment #9
chrisfromredfinThe way to test this seems to be to install gitlab-runner locally and then call the jobs from the local .gitlab-ci.yml.
By design, CI on GitLab doesn't run for issue forks, only in the main project, to save resources and prevent people from just throwing things at the testbot to see what sticks.
https://drumk.it/ has a way to install the gitlab runner locally built into it, or you can do it yourself. I found these instructions helpful: https://www.lambdatest.com/blog/use-gitlab-ci-to-run-test-locally/
Once installed locally you can try something like `gitlab-runner exec docker ` or something similar to run the CI locally to see if it runs.
Comment #10
chrisfromredfinI've got .gitlab-ci.yml "working" - next I'm working on a gap analysis between our GitLab CI config and Drupal CI config to see what else may need to port over to ensure it's similar.
Comment #11
chrisfromredfinComment #14
wim leersOver in #3318237: Determine if we should use GitLab CI,
automatic_updatesis also looking into switching to GitLab CI. But of course it'd be silly to duplicate the work that happened here. What's the current status of this? What are the blockers?Comment #15
wim leersComment #16
chrisfromredfinThe latest is that Tim has new templates now which are probably where we landed, BUT using the DrupalCI images (which we were not able to make work). This week we're going to look at getting closer to Tim's template, and then I think the next thing we're going to try and figure out is how to parallelize the unit tests so we get more comparable performance to DrupalCI.
Comment #17
tim.plunkettComment #18
cosmicdreams commentedI'm at Flordia Drupal Camp 2023, tomorrow we'll be getting together to look into this issue. Are there any actionable tasks?
Comment #19
irinaz commented@cosmicdreams, here are tasks
- review how we can use new templates using the DrupalCI images (which we were not able to make work).
- figure out is how to parallelize the unit tests so we get more comparable performance to DrupalCI.
and last task after camp, very important
- UPDATE ISSUE SUMMARY :)
Thanks for working on this!
Comment #20
cosmicdreams commentedWhere are the new DrupalCI images?
Comment #21
fjgarlin commentedhttps://git.drupalcode.org/project/gitlab_templates
Comment #22
chrisfromredfinWhile we have made some progress on this, the biggest hurdle here is that we are pushing for inclusion in core, and core uses DrupalCI. It's therefore a little anti-thetical to do all this work to convert, just to convert back. However, it would be OK to work through it and have both available, but then we do kind of double the testing resources the Association has to pay for.
So, MR's are still welcome for the "someday" when core is on GitLabCI; but I'm postponing this issue for now, since there's plenty of other work to do to not waste effort here.
Comment #23
chrisfromredfinComment #24
chrisfromredfinDone!