Skip to content

Internal feeds should be disabled by default #5890

@mmitche

Description

@mmitche
  • This issue is blocking
  • This issue is causing unreasonable pain

This is part of a larger effort to make public builds of recently open sourced internal fixes work better. Today there are two problems:

  • Customers want to build the shas we built, and if those shas were built internally, they have "darc-int" feeds in them. These feeds are not accessible externally. On release day, these feeds aren't necessary. The packages have already been published to public locations (nuget.org). Often by the time a customer goes to build, these feeds don't even have any packages.
  • The PRs opened to merge into the open have to be altered to remove the darc-int feeds, or otherwise the builds will fail.

The darc-int (and darc-pub, but those are public) feeds are added because they contain stable packages. To avoid the issues we see today, all darc-int feeds will be disabled by default in nuget.config files. Public builds of previously internal sources will work as expected on release day, and would fail prior (because not all packages are available). Today we have to run a script (SetupNuGetSources.ps1/sh) prior to building to add credentials for those feeds. This script will be altered to re-enable these sources if running on the internal AzDO project.

There are 3 parts to this change:

  • Arcade master, In SetupNuGetSources.ps1/sh, the script should identify the disabledPackageSources node. If it exists, find any darc-int feeds (use the same identification mechanism we use when adding credentials) and flip value="true" to value="false". If no darc-int feeds exist there, or the node does not exist, do nothing.
  • Arcade release/3.x, In SetupNuGetSources.ps1/sh, the script should identify the disabledPackageSources node. If it exists, find any darc-int feeds (use the same identification mechanism we use when adding credentials) and flip value="true" to value="false". If no darc-int feeds exist there, or the node does not exist, do nothing.
  • Maestro should add new functionality (and tests. there are already tests for manipulation of nuget.config) to add a "disabledPackageSources" node if it does not exist, and its contents should either be empty (but not <clear/>), or they should contain the source names of all darc-int sources, with the value="true" attribute.
<disabledPackageSources>
    <add key="darc-int-dotnet-core-setup-0c2e69ca" value="true" />
</disabledPackageSources>

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions