Inviting testers for Git forge usecases

Following @t0xic0der and @humaton’s talk on the Git forge ARC investigation during Fedora Linux Release Party 40 and more recently, @humaton’s talk on the topic during Flock To Fedora 2024 - we have opened up our ARC investigation to all contributors within the Fedora Project. Please refer to the ARC initiative page[1] to create or retrieve the usecase requirements for the Git forge replacement and use this thread to record your findings as a tester.

As the community deployments for GitLab[2] and Forgejo[3] are limited access deployments, testers need to request for them by opening a ticket in the Fedora Infrastructure issue tracker[4]. Please use this thread to focus solely on listing the comparisons between the alternatives and sharing the resources regarding the same while all discussions related to the investigation, please head over to the official Fedora ARC room[5] on Fedora Chat.


  1. https://pagure.io/fedora-infra/arc/issue/164 ↩︎

  2. ↩︎

  3. ↩︎

  4. https://pagure.io/fedora-infrastructure/ ↩︎

  5. ↩︎

3 Likes

The forgejo test instance still shows “The owner has already reached the limit of 0 repositories.”. I don’t we can test anything with 0 repositories.

Not sure what you are talking about I was able to create the repository without issue.

Did you login using FAS account?

Does id.stg.fpo even know the same accounts as id.fpo? It refuses mine.

No, that is separate FAS instance. You need to create a new account there.

1 Like

1 Like

Is there a plan to use something like Woodpecker for CI on the Forgejo instance? I would like to test the CI setup, as I think that’s a big consideration for the new forge.

1 Like

I haven’t heard anyone talking about any such plan, but if there are enough people interested in working on it, we could certainly consider it.

Right now, we are looking at Konflux — a new tool from Red Hat built on Tekton pipelines on OpenShift (or plain Kubernetes). See this presentation from DevConf.cz:

@ralph also gave a talk at Flock, which should be online in a little bit. That team should be able to answer why they think this might be better for our use-cases than Woodpecker or other alternatives.

There is actually an instance online which accepts Fedora account logins for people to play around with. Details here:

There were multiple user stories about using CI[1][2][3][4][5], and I think Pagure’s lackluster CI support is one of the big reasons that people have been moving away from it for upstream projects. For distgit repos, we also rely on the Koji scratch build CI jobs and TMT/STI tests. It seems like Konflux does not fit either usecase: it’s more a buildsystem than a generic CI platform and not useful for distgit repos either since we should run test jobs using the same buildsystem currently in use in Fedora Infra.


  1. https://pagure.io/fedora-infra/arc/issue/164#comment-906653 (from me) ↩︎

  2. https://pagure.io/fedora-infra/arc/issue/164#comment-911898 (from me) ↩︎

  3. https://pagure.io/fedora-infra/arc/issue/164#comment-914170 (from eclipseo) ↩︎

  4. https://pagure.io/fedora-infra/arc/issue/164#comment-922474 (from amoloney) ↩︎

  5. https://pagure.io/fedora-infra/arc/issue/164#comment-908627 (from berrange) ↩︎

1 Like

For Gitlab CE, the option is Gitlab CI. Forgejo has a Forgejo Actions feature that works similarly to Github Actions, and Codeberg uses the more mature Woodpecker CI which also integrates well with Forgejo[1].


  1. #843 - Future of Codeberg CI - Codeberg/Community - Codeberg.org ↩︎

2 Likes

yes, it is a seperate instance, but you should be able to reset the password there (if you have access to the email that is used in the staging FAS)

the staging instance was forked a while ago, but it is mostly the same.

2 Likes

yes, this was a limit i set as I was originally setting this up as a dist-git usecase where you cannot create new repos obviously.

i have updated the limit now to 3 – so test away.

1 Like

I’m interested in exploring Konflux as the next generation Fedora build system. But that certainly should not block us on any of this. I am, in any case, concerned about resources for adding another system — both in terms of hardware and Fedora Infrastructure sysadmin time and capacity. If we do find Konflux useful as a build system, we should migrate and retire what we have. If we don’t, we should end the experiment and turn it off.

I think as part of that exploration, we should see if we can build the CI/CD features we need around Konflux — or if not that, at least using Tekton (which Konflux is built on).

If that doesn’t work, and Forgejo Actions aren’t sufficient, Woodpecker does look interesting. (And, following the same line of thought as above, if we would adopt it, we should migrate away from Zuul and Jenkins.)

1 Like

Note too that ssh is not set up, so wont work.

If you want to push to your test repos, you will need to clone using HTTPS, and push back with your username and passwork. (you will need to set your password in the forgio UI first)

Obviously this is not a forgejo limitation, just a limitation with the current setup we have just for trying it out.

2 Likes

With FAS ID in stg, I got access to Forgejo. I migrated a repo from Pagure and mirrorred to it.

1 Like

is forgejo compatible with konflux, or can it be made to be?

There’s not a forgejo plugin for konflux, but talking with Ralph at
flock it sounded like this shouldn’t be too hard to implement.
Or it might be that the forgejo interface is very similar to
gitlab/github and it could use one of those.

Something to look more closely into for sure.

2 Likes

Review of Depends-on/Blocked-by feature

Forgejo

  • API interface: Works in both directions
  • Comment interface: None that I could find
  • UI assignment: Doesn’t work well. Works well on the fedora instance
  • UI readability: Readable, but probably would get overwhelmed by hundreds of dependents. No tree-like view

Example
Upstream RFE: None written so far, maybe after gathering more info.

Gitlab

  • Gated by Premium or Ultimate

PS: This is based on codeberg and gitlab.com instance

Can you clarify some of the Forgejo things, please?

Why is a bi-directional API a problem?

There are clearly comments on issues and merge requests. Where do you find a comment interface missing?

What do you mean by “UI assignment”, and what doesn’t work well?

In which context would you like a tree-like view?

1 Like