mirror of
https://github.com/microsoft/mcp.git
synced 2026-11-04 12:01:31 +00:00
Document central nuget feed in CONTRIBUTING.md (#2605)
This commit is contained in:
1 parent
f64f3d916f
commit
eb7e9757e0
2 files changed
+30
No files matched your search
@@ -12,6 +12,7 @@ If you are contributing significant changes, or if the issue is already assigned
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [Getting Started](#getting-started)
|
||||
- [Prerequisites](#prerequisites)
|
||||
- [Central NuGet Feed](#central-nuget-feed)
|
||||
- [Project Structure](#project-structure)
|
||||
- [Development Workflow](#development-workflow)
|
||||
- [Development Process](#development-process)
|
||||
@@ -69,6 +70,34 @@ If you are contributing significant changes, or if the issue is already assigned
|
||||
3. **Node.js**: Install [Node.js](https://nodejs.org/en/download) 20 or later (ensure `node` and `npm` are in your PATH)
|
||||
4. **PowerShell**: Install [PowerShell](https://learn.microsoft.com/powershell/scripting/install/installing-powershell) 7.0 or later (required for build and test scripts)
|
||||
|
||||
### Central NuGet Feed
|
||||
|
||||
This repository uses a single Azure DevOps package feed for all NuGet packages instead of nuget.org directly. The feed is configured in `nuget.config`.
|
||||
|
||||
The feed has an **upstream** configured to nuget.org. When an authenticated user restores a package that is not yet cached in the feed, it is automatically ingested from nuget.org. Unauthenticated users can only consume package versions that have already been ingested into the feed.
|
||||
|
||||
You can browse the feed directly at: <https://dev.azure.com/azure-sdk/public/_artifacts/feed/azure-sdk-for-net>
|
||||
|
||||
#### Installing the Azure Artifacts Credential Provider
|
||||
|
||||
To authenticate with the feed you need the **Azure Artifacts Credential Provider**:
|
||||
|
||||
1. Install it from <https://go.microsoft.com/fwlink/?linkid=2099625> (you can also find this link by clicking **Connect to Feed** from the feed page above).
|
||||
2. Once installed, the first `dotnet restore` (or any command with an implicit restore) will trigger an authentication prompt.
|
||||
3. Valid Users of the Azure DevOps project will be authenticated as a **Collaborator** on the feed, which allows you to:
|
||||
- Pull any package already in the feed.
|
||||
- Trigger the feed to query nuget.org and ingest new packages or versions that are not yet present.
|
||||
|
||||
The feed is **public**, so anyone can read packages that are already cached. The credential provider is only needed to cause new packages to be ingested from the upstream.
|
||||
|
||||
#### External Contributors
|
||||
|
||||
External contributors will not be able to authenticate to the feed as **Collaborator**, but our Pull Request pipeline can. External contributors should temporarily add nuget.org as an additional source in `nuget.config` to build locally with new packages, then revert that `nuget.config` change before submitting their pull request. Our pipeline will authenticate to the feed, ingest the new package, and build normally.
|
||||
|
||||
If you need local-only NuGet configuration for development, use a user-level `NuGet.Config` and a temporary `--configfile` rather than editing this repository's tracked `nuget.config`. Do not commit local feed changes to the repo.
|
||||
|
||||
Do not assume the Pull Request pipeline will always ingest a missing package automatically. Upstream ingestion can fail or be delayed. If your PR depends on a package/version that is not yet visible in the feed, ask a maintainer or Microsoft contributor to pre-ingest it by restoring against the feed first, then retry once the package appears in <https://dev.azure.com/azure-sdk/public/_artifacts/feed/azure-sdk-for-net>.
|
||||
|
||||
### Project Structure
|
||||
|
||||
- `core\`
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<packageSources>
|
||||
<clear />
|
||||
<!-- Do not add any additional feeds. If new packages are needed, they need to come from our azure-sdk-for-net DevOps feed which has an upstream set to nuget.org -->
|
||||
<!-- See the Central NuGet Feed documentation in CONTRIBUTING.md for more details -->
|
||||
<add key="azure-sdk-for-net" value="https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-net/nuget/v3/index.json" />
|
||||
</packageSources>
|
||||
<disabledPackageSources>
|
||||
|
||||
Reference in new issue
Block a user