Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add gitlab support #249

Closed
thrix opened this issue Nov 21, 2019 · 13 comments
Closed

Add gitlab support #249

thrix opened this issue Nov 21, 2019 · 13 comments
Labels
complexity/epic Lost of work ahead, planning/design required. GSOC Reserved for the participants/applicants of the Google Summer of Code. triaged This issue was already processed by the team.

Comments

@thrix
Copy link
Contributor

thrix commented Nov 21, 2019

People are looking for this, I do not see an issue for it but I know it is planned.

@lachmanfrantisek lachmanfrantisek added the complexity/epic Lost of work ahead, planning/design required. label Nov 21, 2019
@lachmanfrantisek
Copy link
Member

lachmanfrantisek commented Nov 21, 2019

  • packit-as-a-tool is ready
  • We need to investigate, what is needed to have a "gitlab-app" (or what is the workflow there).
    • Are just webhooks enough?
    • Is it worth it? / Is it a priority for us? / How many projects will use it?
    • How much time it will take us to implement it? How much code we can share with github?
    • GitHub and GitLab have different API and workflow: what would be the best way to interact with GitLab?
    • How can we support custom instances, not just gitlab.com?

@TomasTomecek
Copy link
Member

* [x]  packit-as-a-tool is ready

Even the code which parses origin remote url?

  * Are just webhooks enough?
  * Is it worth it? / Is it a priority for us? / How many projects will use it?
  * How much time it will take to us? How much code we can share with github?

+1

will add more to your list

@lachmanfrantisek
Copy link
Member

Even the code which parses origin remote url?

It 'should' work as well.

@Conan-Kudo
Copy link

GitLab has an equivalent concept of Integrations, but those need to be added to the GitLab codebase itself. There's no extensible "app" model.

@lachmanfrantisek
Copy link
Member

GitLab has an equivalent concept of Integrations, but those need to be added to the GitLab codebase itself. There's no extensible "app" model.

Thanks for the info. I need to take a look at how hard is to add it and how it can work with custom instances. It looks like a long-term wish. We have to work on the GitHub app at first.

@grapheo12
Copy link

Hello. I saw this issue posted as a Project Idea for GSoC 2020. I am interested to work on it. Can I get some resources regarding the CI methods of Gitlab (like Github webhooks) and how to test the implementation?
Is there any reference implementation (some other packaging service in Gitlab) which is a benchmark for this?
Also is there a need to integrate testing with this feature?
@lachmanfrantisek

@lachmanfrantisek
Copy link
Member

@grapheo12 thank you for your interested!

I am interested to work on it.

Currently, it's to soon to start working on it -- now, you have time to get familiar with the project and solve some basic issues..;)

Can I get some resources regarding the CI methods of Gitlab (like Github webhooks) and how to test the implementation?

The "research" of this is a part of the GSOC task, but if you want some info now, the gitlab docs is a good place to start with:

Is there any reference implementation (some other packaging service in Gitlab) which is a benchmark for this?

Some examples are mentioned in the docs:

Also is there a need to integrate testing with this feature?

  • If you mean tests for our code, then yes:
  • If you mean the testing part of the workflow (the Testing Farm), then yes.
    • We want to have the same functionality for GitHub as well as for GitLab.

@lachmanfrantisek lachmanfrantisek added the GSOC Reserved for the participants/applicants of the Google Summer of Code. label Feb 24, 2020
@nmav
Copy link

nmav commented Feb 26, 2020

@lachmanfrantisek
Copy link
Member

@nmav thanks!

It will probably take some time to make something useful but would be nice to have some real packages to test it.

@tyll
Copy link

tyll commented Feb 27, 2020

GitLab has an equivalent concept of Integrations, but those need to be added to the GitLab codebase itself. There's no extensible "app" model.

Thanks for the info. I need to take a look at how hard is to add it and how it can work with custom instances. It looks like a long-term wish. We have to work on the GitHub app at first.

It would be nice to be able to use packit for https://gitlab.freedesktop.org/NetworkManager/NetworkManager to build a Copr for each merge request.

@csomh csomh added the triaged This issue was already processed by the team. label Mar 12, 2020
@anirudhnarayanan
Copy link

anirudhnarayanan commented Mar 21, 2020

Hi, I saw this idea in the GSOC 2020 project list.
I am really fascinated by it and would like to work with it. I just had a clarification regarding something you said.

Currently, it's to soon to start working on it -- now, you have time to get familiar with the project and solve some basic issues..;)

By basic issues do you mean issues issues part of the packit service repository which we are to fix and send pull requests for?

@lachmanfrantisek
Copy link
Member

By basic issues do you mean issues issues part of the packit service repository which we are to fix and send pull requests for?

Look around the projects in the packit service organisation, how they are coupled and you can try fixing issues in any of them. (The most important ones are ogr, packit, packit-service, sandcastle, and dashboard.)

@lachmanfrantisek
Copy link
Member

🚀 The implementation is there for some time, so let's close this EPIC and create smaller, more specific issues if needed.

Just to summarize:

  • To enable the project, you need to setup webhook in your project settings.
  • We need to have a user on the instance (gitlab.com only by now, let us know if you need some other instance)
  • There are two options how we can verify your webhooks:
    • We agree on some static token that we add to our configuration.
    • You don't set any token when configuring the webhook and we will send you a project-specific token on the first run as a confidential issue. (You will add it to the webhook settings after that.)
  • We have some information here.

Note that we don't use it much ourselves and there are probably still some problems, so please, try it and let us know.

Here is an example of how it works:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
complexity/epic Lost of work ahead, planning/design required. GSOC Reserved for the participants/applicants of the Google Summer of Code. triaged This issue was already processed by the team.
Projects
None yet
Development

No branches or pull requests

9 participants