As discovered in #1525 (closed), there are many forks existing in the oniro-core project group that are offside. These repositories should be moved to a special excluded folder to match up with the allowed for structure.
@agherzan here is the new issue where we can have a nice clean communication channel dedicated to this effort! Just to let you know before this effort starts, our goal is to support generally whatever subgroup structure you like going forward. This means that you could have a subgroup structure like the following:
Also as a little tip, we will be supporting a different way of grouping like projects soon. You'll be able to group projects under the top-level project as a domain-like structure, as well as create arbitrary groups in your project group, the following being an example:
This does not allow for custom permissions, or people to be added on these further down subgroups. It will allow for better management of issues, like projects, and similar management things, however. I know that you'll be doing some work to do this, so I might as well show you what good came from this upgrade, right? ;)
Note that I say soon, not to say the functionality isn't there, but to more do a slow rollout to some groups to push the system and play with it. This way we can make sure that the wrinkles are ironed for the Gitlab support team when it comes time to hand over the reins haha!
Thanks, @malowe. This is useful. We have managed to discuss this solution internally and we agree that in general having a subgroup with "forks" would make things a bit neater. I think the only aspect to clarify is the actual name of the subgroup. This is because it would hold both forks and also mirrors. And the distinction can either be clear (a mirror of an upstream source vs a repository with forked branches) but can also be a confusing mix. GitLab supports the ability to mirror a repository while handling divergent refs: https://docs.gitlab.com/ee/user/project/repository/mirror/push.html#keep-divergent-refs All these cases of "forks" would make the name a bit confusing. I don't yet have the perfect solution to this but other big projects use "third party" in different forms:
third_party
3rd_party
3party
etc.
I would vote for the first one above.
That being said, and given that we do have a solution in place, we won't be dealing with the migration for the existing 3rd party components soon as we are currently busy with the next release. The new forks (if any) thought, will adhere to the solution we decide.
Honestly, half way through your comment I thought about suggesting third-party as well haha! We prefer using dashes for consistency at the moment, but we aren't stuck hard and fast with that. If you are onboard with third-party, I can see about setting the group up today. I'd leave the actual migration of groups alone of course, but gives you the option to use it though.
I think we are good to go with that. And yes, I haven't thought about that flexibility but it does sound nice. Are we going to have a mention of this in the handbook?
Yes we will :) I have an MR up to add that to the handbook, its just been hectic last couple weeks and hasn't been merged in. You guys are the first group to be notified as well so we can do a soft rollout and ensure we've got all of our bases covered as well as docs needed for this.
https://gitlab.eclipse.org/eclipse/oniro-core/third-party has been created and added as an excluded path. Anything you guys create under this won't be managed with the ECA. Maintainers/Project leads can add sub groups to this to get the forks and mirror groups added as well. Left it up to you guys in case you wanted different nomenclature!
You can rename the title of the group as long as the slug stays the same as that's what we care about. As you are a maintainer I believe you have the rights to do this. Let me know if you don't and I can do that operation.
@malowe we have a new blocker - our documentation infrastructure relies on a CI-owned, flattened repository of the documentation export: https://gitlab.eclipse.org/eclipse/oniro-core/oniro-readthedocs-aggregated. This allows us to expose to ReadTheDocs an aggregated view of all the documentation of the project (coming from multiple repositories). The issue is that while maintaining that "view", the CI pushes to it with a generic identity: Oniro Project CI <oniro-dev@eclipse.org>. Obviously, ECA fails for it: https://gitlab.eclipse.org/eclipse/oniro-core/docs/-/jobs/57506. We could use the identity of the CI owner if that would be acceptable, what do you think?
It has a connection with this issue as this new blocker is a side effect of the ECA changes that have been merged lately enforcing ECA checks on all repositories. This issue (#1532 (closed)) implemented a workaround for the forks/mirrors but not a way forward for the infrastructure ones. Nevertheless, I have filed another issue: #1565 (closed).
I have no idea how the PAT was supposed to help in this case. I suspect that you haven't understood the issue at hand. Please take a look at #1565 (closed) and let's continue the discussion there.
Yeah, I think we need to figure out some way to pull PATs/Gitlab bot users from the API at some point. I think its a nice to have as we already have a working process that uses the project bots API that works across our platforms.
@agherzan it looks like @fgurr created the bots API reference that you should be able to use for these automated build operations. Let me know if that solves your issue! I see you've got a few repos under the different groups that I love to see. Let us know if you have any other hiccups in adoption.
@agherzan how's it going? Any blockers in the migration to the excluded forks area? I'd love to get rid of the bypass so we can all be in a clean state!
Thanks, @malowe for the touch base. No blockers for us besides time - we are working full steam for the next release and as I said in the initial issue, we will look into it when we have a breather. For now, I would like to keep the bypass and I'll update once we get to moving the repos accordingly.
@agherzan how's it going with this issue? We're closing on 2 months past the initial remove-by date and we wanted to check in if there are any blockers to this migration.
This is all on the project side at this point, as we can't remove the bypass we have without breaking the listed project mirrors which is something we want to avoid if at all possible. The project has been offside for over a year at this point, and have done no work to rectify this in that time. I think this might be something @wbeaton and his team has to chase down at this point.
@jricoeclipse can you elaborate on what you mean by close it? Looking into this, we're in the same state that we were ~2y ago, with the same list as above still listed as forks and not in the separate namespace. If this is closed without addressing the issue and we remove the exception, the above mentioned projects would not be able to pull upstream commits from the parent repository and would likely block work for the Oniro project.
Checking in on this, @jricoeclipse could you expand on the above comment? I want to understand where we should go with this as the project has been offside for over 2.5y at this point, and has an associated technical debt in our scripts.
Those issues were opened before I joined and have never been touched on in any of the Oniro conversations I have had. I don't understand what the challenge is or what change is required to be ok again, but these projects were discontinued in July 2023.
Hope this helps and also happy to jump in a call to discuss implications and more details.
Looking it up and yup, there is no activity on this project for the past year as per PMI: https://projects.eclipse.org/projects/oniro.oniro-core. I'm thinking I remove the exceptions from our ECA script then, and we can deploy that next week and close this out!