If you have a specific runner defined in your project, you can make all contributors maintainer of this project, they will have visibility on the runner everywhere, even in their fork.
But they will be maintainer, that’s mean a lot of right on the project, too much for us, that’s why we didn’t choose this solution.
You can also define a shared runner, but as I said, I don’t know how to reduce visibility to only a group.
We tried to define a group runner in the group that have the project but contributors don’t have visibility of the runner in their fork because their fork are in a different group that the project.
We guess that, if every members of the group were maintainer, maybe they will see the group runner in their fork but no.
And we don’t want every one as maintainer, it’s too much dangerous.
Finally, we found a way that is not perfect but acceptable.
We create a group which contain only one project (empty or not, we personally put gitlab runner configuration), you put every contributor maintainer of this project and we have set a specific runner on this project. And voilà, all maintainer of this project have now the visibility of the runner in their fork. This could be good for us but, in all this process, we have a manual action which is very annoying… We have to add/remove in the group depends on who want to contribute…
So, we are waiting for a better way to do it…
(Also, it’s not considering as a Bug or Feature proposal according to Gitlab, whereas it’s totally one, https://gitlab.com/gitlab-org/gitlab-ce/issues/46895)