GunnarFarneback/LocalRegistry.jl

TagBot compatibility

SebastianM-C opened this issue · 5 comments

Hi, thanks for creating this package. I was wondering if it would be possible for LocalRegistry to create PRs when registering packages so that it can be used in conjunction with RegistryCI for TabBot (and AutoMerge).
From what I understand from the TagBot source code

https://github.com/JuliaRegistries/RegistryCI.jl/blob/ea15679efaebb28e36c1174f565ebb7274b429de/src/TagBot/cron.jl#L4
it only operates on pull requests.

There's two parts to making a PR. The first is to push to a branch. This only involves doing git operations and I have a somewhat complete work in progress on that, so it will come.

The second part involves doing the moral equivalent of pushing some buttons on some git hosting service's web interface, to make a PR appear. This is highly depending on whatever API the git hosting service provides and is quite difficult to make general. It might happen at some point but is not in my near term plans.

I see... Do you think that the second part would better live in a separate package? In the case of GitHub & GitLab there are julia interfaces which would cover the most popular use cases (or so I think).
If there is anything that I might be able to help, let me know.

In terms of dependencies a separate package would have some advantages but that could possibly also be handled with Requires. Although GitHub and GitLab are big players I would personally be more motivated by getting something to work with BitBucket.

With a direct push to the registry you can today do a typical registration with

$ julia --project
julia> using LocalRegistry
julia> register()

I'd be fine with expanding this to

$ julia --project
julia> using GitHub, LocalRegistry
julia> register()

for a PR based registration. I expect that keeping it this simple will require some kind of configuration, which Preferences should provide a solution for.

If there is anything that I might be able to help, let me know.

Finding out what calls are needed to make a PR on GItHub and GitLab would be helpful.

Using "git push options" this can be done without additional dependencies or configuration for GitLab, see work in progress in #49. For other services a solution should probably be based on GitForge.