Problem to solve
We use a group runner to automate tasks in our project. One of the developers forked the repository into his personal namespace, made changes, and created a Merge Request (MR) back to the original project.
Actual behavior (problem):
The MR pipeline is triggered under the user’s personal namespace (once I open job it appears as https://gitlab.our.domain/user/cms/-/jobs/260590), and thus the group runner is not used to execute jobs. As a result, this job is not executed and fails due to a timeout.
Expected behavior:
The MR pipeline is triggered using the group runner configured for the project group, and jobs are executed successfully.
Questions:
- Is it possible to configure the group runner to process pipelines for MRs created from forks?
- Can the group runner be assigned to a user to ensure job execution in such cases?
- Is there any other recommended way to ensure that pipelines for MRs from forks are processed using the group runner?
Configuration
- Self-managed
Versions:
root@gitlab:~# gitlab-rake gitlab:env:info
System information
System: Ubuntu 20.04
Current User: git
Using RVM: no
Ruby Version: 3.2.5
Gem Version: 3.5.23
Bundler Version:2.5.11
Rake Version: 13.0.6
Redis Version: 7.0.15
Sidekiq Version:7.2.4
Go Version: unknown
GitLab information
Version: 17.6.1
Revision: 8a31863db02
Directory: /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: PostgreSQL
DB Version: 14.11
URL: https://gitlab.lfstrm.tv
HTTP Clone URL: https://gitlab.lfstrm.tv/some-group/some-project.git
SSH Clone URL: ssh://git@gitlab.lfstrm.tv:2002/some-group/some-project.git
Using LDAP: no
Using Omniauth: yes
Omniauth Providers:
GitLab Shell
Version: 14.39.0
Repository storages:
- default: unix:/var/opt/gitlab/gitaly/gitaly.socket
GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell
Gitaly
- default Address: unix:/var/opt/gitlab/gitaly/gitaly.socket
- default Version: 17.6.1
- default Git Version: 2.47.0