jycouet / VSTSExtensions

MIT License
30 stars 11 forks source link

Autodiscover doesn't seem possible #77

Closed arp-mbender closed 1 month ago

arp-mbender commented 1 month ago

Describe the bug From what I can tell task executes renovate and points it to the current DevOps repository. This is a nice for a quick run, but renovate has autodetection capabilities, which seem to be missing in this instance.

To Reproduce Steps to reproduce the behavior: It's possible to manipulate renovate via environment flags defined in the pipeline. This includes enabling autodiscover:

variables:
    RENOVATE_AUTODISCOVER: "true"

After this the task will indicate it's attempting to autodiscover repositories, but even if permissions are granted it'll only ever find one repository (the current one from which the pipeline was triggered).

Expected behavior It would be nice to run this for other repositories.

Desktop (please complete the following information):

jycouet commented 1 month ago

Hello,

When I did this extension, it was the expected behavior. It's not "renovate" it's "renovateMe", and only me!

I feel that it's strange to configure 1 repo to renovate other repos.

You can always use renovate directly without renovateMe.

Let me know what do you think

arp-mbender commented 1 month ago

You are correct and it makes sense. If that's the entire scope and there's no plans to expand this, then I'm going to have to run the command manually as you suggest.

But the task provides a nice way to access DevOps without the need to set up a PAT and only configure access via the Test Build Service XYZ, and I'd love to re-use that instead of bothering with PATs...

jycouet commented 1 month ago

That's why I did it back then 😅.

You have too many repos that you don't want to add renovateMe on each ?

You can do a RenovateAll 😜✌️ I'm open to look at a PR, but I can't really test... (I have a different setup now)

Let me know

arp-mbender commented 1 month ago

Fair enough. The actual use-case for us is that management wants to have a centralised point from which to try and "push" quality updates into various projects.

At the moment I'm just using a standard, bland npx renovate with a bunch of env flags to handle stuff, as well as a parameter which sets the project names to include.

That said, I did some more digging and while usage of the service access token is certainly possible, it requires quite a few changes to the default config (DevOps has both organization and project-wide settings for pipeline access, and by default it's all locked down it seems). So it seems my initial idea, while possible, would still require a lot of fiddling on part of whomever is creating the pipeline, and at that point one may have to resort to using npx renovate or the docker-based counterpart...