GitLab Acceleration Initiative meeting on 5 April, 2023
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3349711. -->
Reported by: [hestenet](https://www.drupal.org/user/54034)
>>>
<h2>Transcript</h2>
<h2>0️⃣ Who is here today? Comment in the thread below to introduce yourself!</h2>
<table>
<tr>
<td>markdorison</td>
<td>Mark from Chromatic here! :fox_hello_wave:</td>
</tr>
<tr>
<td>irinaz</td>
<td>Hi, Irina Zaks here</td>
</tr>
<tr>
<td>tyler36</td>
<td>Hi</td>
</tr>
<tr>
<td>Nick_vh</td>
<td>Hi! Nick from GitLab here 🙂 (edited)</td>
</tr>
</table>
<h2>1️⃣ Do you have any topics to propose for the meeting today? Feel free to propose them in this thread, and then I will give them their own unique threads for discussion. Conversation moving slow? Go ahead and open your own thread in the next numeric order.</h2>
<table>
<tr>
<td>markdorison</td>
<td>Are there any updates to share on issues migration?</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Not yet. Most of the tools are in place from the actual mechanical side of the migration, but the access granting to the issue forks is still a thing we're working out. Those community fork experiments from the GitLab team may help.</td>
</tr>
<tr>
<td>tyler36</td>
<td>Is there a Drupal Gitlab status page? Something like <a href="https://status.gitlab.com/">https://status.gitlab.com/</a> but for Drupal's implmentation? I often see people in channel asking if others are also having access problems. This could/should also be pinned to the top of this channel to help .</td>
</tr>
</table>
<h2>2️⃣ As mentioned above, GitLab has announced their intentions to adopt a community fork model for contribution to GitLab itself (or at least to try it!)This is great news, because they will be facing similar challenges, and any changes they make to support that workflow should make it easier for us to do the same: <a href="https://about.gitlab.com/blog/2023/04/04/gitlab-community-forks/">https://about.gitlab.com/blog/2023/04/04/gitlab-community-forks/</a></h2>
<table>
<tr>
<td>hestenet (he/him)</td>
<td>There are some improvements on the way as a result:<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/390441https://gitlab.com/gitlab-org/gitlab/-/issues/330243 ">https://gitlab.com/gitlab-org/gitlab/-/issues/390441https://gitlab.com/gitlab-org/gitlab/-/issues/330243 </a>(edited)</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>They're current meta is here <a href="https://gitlab.com/gitlab-community/meta">https://gitlab.com/gitlab-community/meta</a></td>
</tr>
<tr>
<td>andy-blum</td>
<td>Fetch new upstream contents when fork is behind:pray:</td>
</tr>
<tr>
<td>andy-blum</td>
<td>That should help with at least some of the credit-farmers</td>
</tr>
<tr>
<td>Nick_vh</td>
<td>The "Fetch new upstream buttom thing" should go into production soon. So that's indeed good news!</td>
</tr>
<tr>
<td>Nick_vh</td>
<td>re: access requests of the repo. This process is currently manual but I'd like us to find a better way to understand "trusted" users and automate that somehow. We're still experimenting here.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>This meeting:➤ Is for core developers, initiative contributors, the Drupal Association and anyone interested in the initiative.➤ Usually happens every other Wednesday at 11:00 PT / Thursday 06:00 UTC➤ Is done over chat.➤ Happens in threads, which you can follow to be notified of new replies even if you don’t comment in the thread. You may also join the meeting later and participate asynchronously!➤ Lots of threads get posted all at once! Don't worry - start at the top and then jump into the threads that most interest you.➤ Has a public agenda anyone can add to in the issue➤ *Transcript will be exported and posted* to the agenda issue. For anonymous comments, start with a 👤 emoji. To take a comment or thread off the record, start with a 🚫 emoji.ping: @mixologic @FeyP @jurgenhaas (go to the issue of the next meeting to add or remove yourself from the list)</td>
</tr>
</table>
<h2>3️⃣ The update to 15.10 revealed two bugs, which we are still hoping for resolution for, from the GitLab team, we opened issues which they are working on</h2>
<table>
</table>
<h2>3️⃣ 1️⃣ Clone URL configuration no longer respected:<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/404496">https://gitlab.com/gitlab-org/gitlab/-/issues/404496</a></h2>
<table>
</table>
<h2>3️⃣ 2️⃣ 500 errors on geo primary when geo secondary is unavailable(Secondary status should not degrade primary)<a href="https://gitlab.com/gitlab-org/gitlab/-/issues/404497">https://gitlab.com/gitlab-org/gitlab/-/issues/404497</a></h2>
<table>
</table>
<h2>4️⃣ Moshe has offered an example of some CI improvements with the Akamai test project - which I hope to incorporate into the GitLabCI templates: <a href="https://drupal.slack.com/archives/CGKLP028K/p1680482989175279">https://drupal.slack.com/archives/CGKLP028K/p1680482989175279</a></h2>
<table>
<tr>
<td>moshe</td>
<td>Now that I know that you are hopeful about this, I will make a PR so you don't have to figure out what lines to change.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Thanks.</td>
</tr>
<tr>
<td>moshe</td>
<td>Seems like I cant fork or push to gitlab_templates Attempting to fork in the UI says 'You have reached your project limit"</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>If you click 'get push access' on this issue fork you can use that as a workspace: <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/gitlab_templates/-/issues/3352515" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/gitlab_templates/-/issues/3352515</a></span></td>
</tr>
<tr>
<td>moshe</td>
<td>Oh no, please not an issue fork. I just cant abide that UX. Can I get temporary push access to git_templates or is that hard?</td>
</tr>
<tr>
<td>moshe</td>
<td>I would push to my branch only</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>That's fine.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>One sec.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Granted</td>
</tr>
<tr>
<td>moshe</td>
<td>Gracias</td>
</tr>
<tr>
<td>moshe</td>
<td><a href="https://git.drupalcode.org/project/gitlab_templates/-/merge_requests/2">https://git.drupalcode.org/project/gitlab_templates/-/merge_requests/2</a></td>
</tr>
<tr>
<td>moshe</td>
<td>I submitted a second MR which is another big leap for our templates. I think it makes sense for this MR to merge first, so we have testing for the second one <a href="https://git.drupalcode.org/project/gitlab_templates/-/merge_requests/3">https://git.drupalcode.org/project/gitlab_templates/-/merge_requests/3</a></td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Oh I see. An alternative to the limitations of 'include'</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>That's very interesting.</td>
</tr>
<tr>
<td>moshe</td>
<td>I have more MRs in mind, but I dont wanna overwhelm the reviewer(s) 🙂</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Hey, I'll take 'em</td>
</tr>
<tr>
<td>moshe</td>
<td>FYI to @Brad Jones @jurgenhaas about these PRs. Feedback welcome.</td>
</tr>
<tr>
<td>jurgenhaas</td>
<td>@moshe sorry for my late response, been very busy lately. Looked through the 2 MRs and also went through your notes on MR!3 - all looks really good. If I were to give this a try, could I copy the gitlab-ci.yml from the Akamai project in e.g. ECA and see if that works`After some adjustments of course.</td>
</tr>
<tr>
<td>moshe</td>
<td>Yes. Copy from this branch - <a href="https://git.drupalcode.org/project/akamai/-/tree/test-gitlab-templates/">https://git.drupalcode.org/project/akamai/-/tree/test-gitlab-templates/</a>. Also you have to add a Project CI/CD env variable using the GUI. Below is how I did it.If you get an error PHP Fatal error: Uncaught ValueError: Path cannot be empty in /builds/project/akamai/expand_composer_json.php:23 , you arent getting the latest gitlab_templates tweak I just pushed. It seems like git.drupalcode.org does some cdn/varnish caching that makes it hard to get latest code via http.</td>
</tr>
<tr>
<td>jurgenhaas</td>
<td>This is amazing 💙 I've just copied that gitlab-ci config into a test branch in ECA and it just works !!! See <a href="https://git.drupalcode.org/project/eca/-/pipelines/10614I">https://git.drupalcode.org/project/eca/-/pipelines/10614I</a> do have some more detailed feedback. Where would you prefer me to write this down? It's 4-5 items to get started, not too comprehensive.However, great work already :thankful:</td>
</tr>
<tr>
<td>moshe</td>
<td>Feedback at <a href="https://git.drupalcode.org/project/gitlab_templates/-/merge_requests/2">https://git.drupalcode.org/project/gitlab_templates/-/merge_requests/2</a>. There is more to do but I didn’t want to do it all in a mega pr.</td>
</tr>
<tr>
<td>jurgenhaas</td>
<td>OK, left my comment there.</td>
</tr>
<tr>
<td>moshe</td>
<td>Good feedback. @hestenet (he/him) Lemme know how you want to proceed.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>I think we can handle those as followups.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>I think I'm more or less ready to merge these first two MRs... @moshe unless you anticipate pushing any more tweaks before we open the follow ups?</td>
</tr>
<tr>
<td>moshe</td>
<td>Nice. No more tweaks.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>2 is merged. Are you able to quickly rebase 3? <a href="https://git.drupalcode.org/project/gitlab_templates/-/merge_requests/3">https://git.drupalcode.org/project/gitlab_templates/-/merge_requests/3</a></td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>I'll get the variable set up.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Also - do you know where I need to go as admin to approve the multi-project pipeline offhand?</td>
</tr>
<tr>
<td>moshe</td>
<td>That approval is done in the pipeline itself. So, you will get an email when someone pushes to the project and you have to click on its pipeline to get it going. Since I am a project admin for gitlab_templates I dont mind doing that.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Ah... Oh I see.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Makes sense.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Merge train is leaving the station 🙂</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Huh - it's blocking on the pipeline.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Want me to merge anyway, or do you want to check it out?</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Oh - it's the admin thing, haha</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Okay one moment</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Authorized...</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Let's see how that goes.</td>
</tr>
<tr>
<td>moshe</td>
<td>I just pushed one more change and approved the pipeline. If this comes back green its good to merge IMO</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Cool.</td>
</tr>
<tr>
<td>moshe</td>
<td>These "duplicate" pipeline are a bit confusing. Dunno if you want them or not. Can be tweaked with "workflows" magic.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Yeah, I do find it confusing - would be curious to learn about the workflows magic at any rate.</td>
</tr>
<tr>
<td>moshe</td>
<td>:green-tick: . Feel free to merge.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Done! Now should be easier to add the next smaller pieces from feedback</td>
</tr>
<tr>
<td>moshe</td>
<td>Awesome. Lets make a couple quick improvements per @jurgenhaas feedback and then we might want to email everyone in the alpha/beta/whatever program that they need to change .gitlab-ci.yml.</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Groovy</td>
</tr>
</table>
<h2>5️⃣ Could use help from people with existing GitLab CI runner configuration expertise to help improve peformance.@larowlan has been working on getting it to run the core sweet, and has been successful, except that it times out!Can we get some assistance with the performance issues seen while trying to convert core testing to use gitlab - e.g KernelTest fail after 3 hr timeout. We're at the point now where timeouts seem to be the main blocker. Both Functional (2hrs) and Kernel (3hrs) are hitting timeout limits. There's a few Javascript fails but as we know they happen from time to time in DrupalCI too. In DrupalCI we use a volume in the host config. Perhaps we don't have the equivalent mount into the database image in the gitlab runner?This is something I intend to look into but I don't personally have too much expertise in GitLab runner config.</h2>
<table>
<tr>
<td>hestenet (he/him)</td>
<td>@saschaeggi - maybe you know where we should start looking?</td>
</tr>
<tr>
<td>saschaeggi</td>
<td>@Nick_vh may be able to put you in touch with the right people</td>
</tr>
<tr>
<td>Nick_vh</td>
<td>@larowlan ping. Are we not able to split the tests in to multiple jobs? It's not a recommended practice to have a test for 3h :smile:</td>
</tr>
<tr>
<td>larowlan</td>
<td>they take 15 mins on drupalci</td>
</tr>
<tr>
<td>larowlan</td>
<td>the issue is why do the exact same tests take 3hrs on gitlabci (edited)</td>
</tr>
<tr>
<td>Nick_vh</td>
<td>Aha - that makes more sense. So you're trying to figure out why. Is there an issue already somewhere where you ran diagnostics on them to find out what exactly is the slowdown?</td>
</tr>
<tr>
<td>larowlan</td>
<td>No not yet, the only thing I'm thinking is perhaps we use /dev/shm for the db files in drupalci but not in the gitlab runner</td>
</tr>
<tr>
<td>larowlan</td>
<td>Some links in the head of this thread</td>
</tr>
<tr>
<td>Nick_vh</td>
<td><a href="https://docs.gitlab.com/ee/ci/interactive_web_terminal/">https://docs.gitlab.com/ee/ci/interactive_web_terminal/</a> Did you explore this option? To log in to the shell and do a live debug session? Run a single test and run some diagnostics at the same time?</td>
</tr>
<tr>
<td>larowlan</td>
<td>Ooh that sounds awesome, I'm used to circle ci with its rerun with ssh so this sounds similar</td>
</tr>
<tr>
<td>larowlan</td>
<td>Looks like we don't have the right runner config for that, I don't see the debug button on a running job</td>
</tr>
<tr>
<td>larowlan</td>
<td>But maybe Tim can help with that</td>
</tr>
<tr>
<td>Nick_vh</td>
<td>@hestenet (he/him) would you be able to provide that to @larowlan?</td>
</tr>
<tr>
<td>larowlan</td>
<td>Late for Tim, and long weekend here, will follow up next week, thanks for the pointers</td>
</tr>
<tr>
<td>hestenet (he/him)</td>
<td>Will definitely check that out next week</td>
</tr>
<tr>
<td>el7cosmos</td>
<td>also there are errors like <a href="https://git.drupalcode.org/project/gitlab_ci_testbed_for_drupal_core/-/jobs/40633ERROR:">https://git.drupalcode.org/project/gitlab_ci_testbed_for_drupal_core/-/jobs/40633ERROR:</a> Uploading artifacts as "archive" to coordinator... 413 Request Entity Too Large id=40633 responseStatus=413 Request Entity Too Large status=413 token=64_EQM_Lprobably something to do with the proxy server (edited)</td>
</tr>
<tr>
<td>moshe</td>
<td>I tried this today and also am missing the debug button. This will be a nice feature once its configured.</td>
</tr>
</table>
issue