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 support for GitLab and Bitbucket #1626

Closed
drpatelh opened this issue Jun 9, 2022 · 1 comment
Closed

Add support for GitLab and Bitbucket #1626

drpatelh opened this issue Jun 9, 2022 · 1 comment
Assignees
Labels
command line tools Anything to do with the cli interfaces enhancement modules Related to tools for working with DSL2 modules

Comments

@drpatelh
Copy link
Member

drpatelh commented Jun 9, 2022

Description of feature

A number of users would like to use other Git providers in conjunction with nf-core/tools. However, given the origins of nf-core the tooling is quite heavily tied in with Github and the Github API. It would be great to make this more flexibile to work with all of the tools commands.

A good start will be to create nf-core organisation repos on both of those provider sites so we can push some pipelines and set-up automated tests in the future.

@ewels had some ideas about how to make this happen so I will let him fill out this issue with an essay.

@ewels
Copy link
Member

ewels commented Jun 9, 2022

The majority of interaction with the GitHub API is done with the nf-core modules commands. So the suggestion was to start there and refactor how that code works with the central modules repository.

Instead of using the API to fetch file contents and metadata on the fly, it could clone any arbitrary git repository (from GitLab or wherever) and then work with local files.

The main downside of this approach is that every operation will require a git pull to begin with, to ensure that the local copy is up to date. However, after the initial clone this should hopefully be relatively quick and we can probably show a progress bar.

The upside of doing this is better compatibility with git providers and also less dependency on the API being up and being within rate limits.

Once this is done we can investigate where else the API is used.

@ewels ewels added command line tools Anything to do with the cli interfaces modules Related to tools for working with DSL2 modules labels Jun 9, 2022
@ewels ewels closed this as completed Jun 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
command line tools Anything to do with the cli interfaces enhancement modules Related to tools for working with DSL2 modules
Projects
None yet
Development

No branches or pull requests

3 participants