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

Leverage dependabot to update dependencies #182

Closed
ViktorHofer opened this issue Aug 7, 2023 · 9 comments · Fixed by #861
Closed

Leverage dependabot to update dependencies #182

ViktorHofer opened this issue Aug 7, 2023 · 9 comments · Fixed by #861

Comments

@ViktorHofer
Copy link
Member

Astra already depends on large set of packages (internal and external) and none of them are auto-updated: https://github.com/dotnet/astra/blob/main/eng/Versions.props.

Dependabot would be suitable to update the dependencies. Some of our partner repositories already do that: https://github.com/dotnet/msbuild/blob/main/eng/dependabot/dependabot.csproj

As none of the Astra dependencies are managed by Darc/Maestro, moving the versions from Versions.props into Directory.Packages.props could be sufficient.

cc @mitchdenny

@joperezr
Copy link
Member

Can dependabot leverage private feeds (or feeds that require authentication)? I have recently discussed this with @danegsta about this specifically for the automatic updates of the dcp binaries, as well as the templates which will need to be re-packaged and shipped via the Aspire SDK Workload. Our discussion was that it should be doable to just use Arcade's dependency flow, since @danegsta found that it seems to be straight forward to use dependency flow even when you are not using Arcade to build.

@joperezr
Copy link
Member

Also, just dropping a note, this should eventually also cover adding dependency flow for dcp binaries and project templates.

@joperezr
Copy link
Member

Here is a full list of all of the packages that the repo depends on today which are not being automatically updated:

https://github.com/dotnet/astra/blob/423a3ed9224b2a088b67b1e0f63c06efe765edd1/Directory.Packages.props#L7-L77

@mitchdenny
Copy link
Member

Can dependabot leverage private feeds (or feeds that require authentication)?

Looks like it can: https://docs.github.com/en/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot

@joperezr
Copy link
Member

joperezr commented Oct 9, 2023

This should also include any updates to templates. For example, the templates now have a dependency on the R9 package Microsoft.Extensions.Http.Resilience, we should make sure this version is also updated each time there is a new version.

@danmoseley
Copy link
Member

Dependabot is already enabled in repo settings for public dependencies.

@danmoseley danmoseley modified the milestones: preview-1 week, some time after preview Nov 6, 2023
@danmoseley danmoseley self-assigned this Nov 12, 2023
@danmoseley
Copy link
Member

danmoseley commented Nov 13, 2023

I apparently don't have powers to make an access token for https://dev.azure.com/dnceng/internal feed. So waiting until Tues when we won't have a private feed anyway.

I was able to verify that dependabot can update a central package version file (ie <PackageVersion> not <PackageReference Version..>). We may be able to have a conventional dependabot configuration that just scans the whole tree

What I tried: main...danmoseley:aspire:dependabot (temporarily removed private feed to avoid error) and I was impressed that not only did it understand central package management but even updated the original property value: https://github.com/danmoseley/aspire/pull/2/files

@danmoseley
Copy link
Member

I'm assuming DCP will use Arcade, otherwise dependabot will need a token to access their feed even after preview 1.

@joperezr
Copy link
Member

DCP is already using Arcade's dependency flow (not actual arcade for building, just the codeflow piece), and Aspire is already subscribed to automatically bumping the versions to latest using codeflow:

<Dependency Name="Microsoft.DeveloperControlPlane.darwin-amd64" Version="0.1.42">
<Uri>https://github.com/microsoft/usvc-apiserver</Uri>
<Sha>5173daa9d8649d3b1af7025adc0d3431a2b7434b</Sha>
</Dependency>
<Dependency Name="Microsoft.DeveloperControlPlane.darwin-arm64" Version="0.1.42">
<Uri>https://github.com/microsoft/usvc-apiserver</Uri>
<Sha>5173daa9d8649d3b1af7025adc0d3431a2b7434b</Sha>
</Dependency>
<Dependency Name="Microsoft.DeveloperControlPlane.linux-amd64" Version="0.1.42">
<Uri>https://github.com/microsoft/usvc-apiserver</Uri>
<Sha>5173daa9d8649d3b1af7025adc0d3431a2b7434b</Sha>
</Dependency>
<Dependency Name="Microsoft.DeveloperControlPlane.linux-arm64" Version="0.1.42">
<Uri>https://github.com/microsoft/usvc-apiserver</Uri>
<Sha>5173daa9d8649d3b1af7025adc0d3431a2b7434b</Sha>
</Dependency>
<Dependency Name="Microsoft.DeveloperControlPlane.windows-386" Version="0.1.42">
<Uri>https://github.com/microsoft/usvc-apiserver</Uri>
<Sha>5173daa9d8649d3b1af7025adc0d3431a2b7434b</Sha>
</Dependency>
<Dependency Name="Microsoft.DeveloperControlPlane.windows-amd64" Version="0.1.42">
<Uri>https://github.com/microsoft/usvc-apiserver</Uri>
<Sha>5173daa9d8649d3b1af7025adc0d3431a2b7434b</Sha>
</Dependency>
<Dependency Name="Microsoft.DeveloperControlPlane.windows-arm64" Version="0.1.42">
<Uri>https://github.com/microsoft/usvc-apiserver</Uri>
<Sha>5173daa9d8649d3b1af7025adc0d3431a2b7434b</Sha>
</Dependency>
. The only thing that needs to be changed is that usvc repo needs to start pushing the packages to a public feed, and aspire needs to update its subscription.

@danmoseley danmoseley modified the milestones: needs milestone (for GA), preview 2 (Dec '23) Nov 13, 2023
@github-actions github-actions bot locked and limited conversation to collaborators May 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants