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

Command icon 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

chrisfromredfin created an issue. See original summary.

chrisfromredfin’s picture

There 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

Yeah it could be as limited as including that two line gitlab CI file from drupalspoons and see if it works fine. - Gábor

What we discover/uncover/do may be helpful to this issue (added as related):
https://www.drupal.org/project/infrastructure/issues/3265092

chrisfromredfin’s picture

chrisfromredfin’s picture

FWIW 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

chrisfromredfin’s picture

The 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.

chrisfromredfin’s picture

I'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.

chrisfromredfin’s picture

Assigned: Unassigned » chrisfromredfin

wim leers’s picture

Over in #3318237: Determine if we should use GitLab CI, automatic_updates is 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?

wim leers’s picture

chrisfromredfin’s picture

The 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.

tim.plunkett’s picture

Issue tags: +core-post-mvp
cosmicdreams’s picture

I'm at Flordia Drupal Camp 2023, tomorrow we'll be getting together to look into this issue. Are there any actionable tasks?

irinaz’s picture

@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!

cosmicdreams’s picture

Where are the new DrupalCI images?

fjgarlin’s picture

chrisfromredfin’s picture

Status: Active » Postponed

While 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.

chrisfromredfin’s picture

chrisfromredfin’s picture

Status: Postponed » Fixed

Done!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.