diff --git a/.azure/pipelines/ci-public.yml b/.azure/pipelines/ci-public.yml
index 22258ffb0e73..49ea0fdb978b 100644
--- a/.azure/pipelines/ci-public.yml
+++ b/.azure/pipelines/ci-public.yml
@@ -518,7 +518,7 @@ stages:
isAzDOTestingJob: true
buildArgs: --all --test --binaryLog /p:RunTemplateTests=false /p:SkipHelixReadyTests=true $(_InternalRuntimeDownloadArgs)
beforeBuild:
- - bash: "./eng/scripts/install-nginx-mac.sh"
+ - bash: "./eng/scripts/install-nginx.sh"
displayName: Installing Nginx
artifacts:
- name: MacOS_Test_Logs_Attempt_$(System.JobAttempt)
@@ -539,7 +539,7 @@ stages:
useHostedUbuntu: false
buildArgs: --all --test --binaryLog /p:RunTemplateTests=false /p:SkipHelixReadyTests=true $(_InternalRuntimeDownloadArgs)
beforeBuild:
- - bash: "./eng/scripts/install-nginx-linux.sh"
+ - bash: "./eng/scripts/install-nginx.sh"
displayName: Installing Nginx
- bash: "echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
displayName: Increase inotify limit
@@ -619,8 +619,6 @@ stages:
agentOs: Windows
isAzDOTestingJob: true
timeoutInMinutes: 240
- # Temporarily disabled due to https://github.com/dotnet/aspnetcore/issues/63140
- condition: 'false'
steps:
- script: git submodule update --init
displayName: Update submodules
diff --git a/.azure/pipelines/ci-unofficial.yml b/.azure/pipelines/ci-unofficial.yml
index 30989fd4d25e..28dbc0f13365 100644
--- a/.azure/pipelines/ci-unofficial.yml
+++ b/.azure/pipelines/ci-unofficial.yml
@@ -556,7 +556,7 @@ extends:
beforeBuild:
- script: git submodule update --init
displayName: Update submodules
- - bash: "./eng/scripts/install-nginx-mac.sh"
+ - bash: "./eng/scripts/install-nginx.sh"
displayName: Installing Nginx
artifacts:
- name: MacOS_Test_Logs_Attempt_$(System.JobAttempt)
@@ -579,7 +579,7 @@ extends:
beforeBuild:
- script: git submodule update --init
displayName: Update submodules
- - bash: "./eng/scripts/install-nginx-linux.sh"
+ - bash: "./eng/scripts/install-nginx.sh"
displayName: Installing Nginx
- bash: "echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
displayName: Increase inotify limit
diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index 16cb6f1bc3f6..ddb60815d107 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -548,7 +548,7 @@ extends:
isAzDOTestingJob: true
buildArgs: --all --test --binaryLog /p:RunTemplateTests=false /p:SkipHelixReadyTests=true $(_InternalRuntimeDownloadArgs)
beforeBuild:
- - bash: "./eng/scripts/install-nginx-mac.sh"
+ - bash: "./eng/scripts/install-nginx.sh"
displayName: Installing Nginx
artifacts:
- name: MacOS_Test_Logs_Attempt_$(System.JobAttempt)
@@ -569,7 +569,7 @@ extends:
useHostedUbuntu: false
buildArgs: --all --test --binaryLog /p:RunTemplateTests=false /p:SkipHelixReadyTests=true $(_InternalRuntimeDownloadArgs)
beforeBuild:
- - bash: "./eng/scripts/install-nginx-linux.sh"
+ - bash: "./eng/scripts/install-nginx.sh"
displayName: Installing Nginx
- bash: "echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p"
displayName: Increase inotify limit
diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml
index 0283be806cf1..e27cd657128c 100644
--- a/.azure/pipelines/jobs/default-build.yml
+++ b/.azure/pipelines/jobs/default-build.yml
@@ -103,7 +103,7 @@ jobs:
# See https://github.com/dotnet/arcade/blob/master/Documentation/ChoosingAMachinePool.md
pool:
${{ if eq(parameters.agentOs, 'macOS') }}:
- vmImage: macOS-13
+ vmImage: macOS-15
${{ if eq(parameters.agentOs, 'Linux') }}:
${{ if eq(parameters.useHostedUbuntu, true) }}:
vmImage: ubuntu-22.04
@@ -163,8 +163,8 @@ jobs:
- script: df -h
displayName: Disk size
- ${{ if eq(parameters.agentOs, 'macOS') }}:
- - script: sudo xcode-select -s /Applications/Xcode_15.2.0.app/Contents/Developer
- displayName: Use XCode 15.2.0
+ - script: sudo xcode-select -s /Applications/Xcode_16.4.0.app/Contents/Developer
+ displayName: Use XCode 16.4.0
- ${{ if and(eq(parameters.agentOs, 'Windows'), eq(parameters.isAzDOTestingJob, true)) }}:
- powershell: ./eng/scripts/InstallProcDump.ps1
displayName: Install ProcDump
@@ -319,7 +319,7 @@ jobs:
pool:
${{ if eq(parameters.agentOs, 'macOS') }}:
name: Azure Pipelines
- image: macOS-13
+ image: macOS-15
os: macOS
${{ if eq(parameters.agentOs, 'Linux') }}:
name: $(DncEngInternalBuildPool)
@@ -389,8 +389,8 @@ jobs:
- script: df -h
displayName: Disk size
- ${{ if eq(parameters.agentOs, 'macOS') }}:
- - script: sudo xcode-select -s /Applications/Xcode_15.2.0.app/Contents/Developer
- displayName: Use XCode 15.2.0
+ - script: sudo xcode-select -s /Applications/Xcode_16.4.0.app/Contents/Developer
+ displayName: Use XCode 16.4.0
- ${{ if and(eq(parameters.agentOs, 'Windows'), eq(parameters.isAzDOTestingJob, true)) }}:
- powershell: ./eng/scripts/InstallProcDump.ps1
displayName: Install ProcDump
diff --git a/.azuredevops/pull_request_template/branches/internal.md b/.azuredevops/pull_request_template/branches/internal.md
index 59ad82ee7ad9..199bdce27062 100644
--- a/.azuredevops/pull_request_template/branches/internal.md
+++ b/.azuredevops/pull_request_template/branches/internal.md
@@ -40,6 +40,6 @@ Fixes #{bug number} (in this specific format)
----
-## When servicing release/2.1
+## When servicing release/2.3
- [ ] Make necessary changes in eng/PatchConfig.props
diff --git a/.azuredevops/pull_request_template/branches/release.md b/.azuredevops/pull_request_template/branches/release.md
index a0689c5c7a86..dd84172cb188 100644
--- a/.azuredevops/pull_request_template/branches/release.md
+++ b/.azuredevops/pull_request_template/branches/release.md
@@ -46,6 +46,6 @@ Fixes #{bug number} (in this specific format)
----
-## When servicing release/2.1
+## When servicing release/2.3
- [ ] Make necessary changes in eng/PatchConfig.props
diff --git a/.github/PULL_REQUEST_TEMPLATE/servicing.md b/.github/PULL_REQUEST_TEMPLATE/servicing.md
index 59ad82ee7ad9..199bdce27062 100644
--- a/.github/PULL_REQUEST_TEMPLATE/servicing.md
+++ b/.github/PULL_REQUEST_TEMPLATE/servicing.md
@@ -40,6 +40,6 @@ Fixes #{bug number} (in this specific format)
----
-## When servicing release/2.1
+## When servicing release/2.3
- [ ] Make necessary changes in eng/PatchConfig.props
diff --git a/.github/policies/resourceManagement.yml b/.github/policies/resourceManagement.yml
index 4a9c0e892785..2157f88a9f7c 100644
--- a/.github/policies/resourceManagement.yml
+++ b/.github/policies/resourceManagement.yml
@@ -441,19 +441,8 @@ configuration:
branch: main
then:
- addMilestone:
- milestone: 10.0-rc1
+ milestone: 11.0-preview1
description: '[Milestone Assignments] Assign Milestone to PRs merged to the `main` branch'
- - if:
- - payloadType: Pull_Request
- - isAction:
- action: Closed
- - targetsBranch:
- branch: release/10.0-preview7
- then:
- - removeMilestone
- - addMilestone:
- milestone: 10.0-preview7
- description: '[Milestone Assignments] Assign Milestone to PRs merged to release/10.0-preview1 branch'
- if:
- payloadType: Issues
- isAction:
@@ -566,6 +555,25 @@ configuration:
Otherwise, please add `tell-mode` label.
description: Add release/2.3 targeting PRs to the servicing project
+ - if:
+ - payloadType: Pull_Request
+ - isAction:
+ action: Opened
+ - targetsBranch:
+ branch: release/10.0
+ - activitySenderHasPermission:
+ permission: Read
+ - not:
+ isActivitySender:
+ user: dotnet-maestro
+ issueAuthor: False
+ - not:
+ isActivitySender:
+ user: dotnet-maestro-bot
+ issueAuthor: False
+ then:
+ - addLabel:
+ label: servicing-consider
- if:
- payloadType: Pull_Request
- labelAdded:
@@ -605,6 +613,17 @@ configuration:
- addReply:
reply: Hi @${issueAuthor}. This PR was just approved to be included in the upcoming servicing release. Somebody from the @dotnet/aspnet-build team will get it merged when the branches are open. Until then, please make sure all the CI checks pass and the PR is reviewed.
description: '[Servicing PR Approved] Let the author know that the PR will be merged by the build team'
+ - if:
+ - payloadType: Pull_Request
+ - isAction:
+ action: Closed
+ - targetsBranch:
+ branch: release/10.0
+ then:
+ - removeMilestone
+ - addMilestone:
+ milestone: 10.0.0
+ description: '[Milestone Assignments] Assign Milestone to PRs merged to release/10.0 branch'
- if:
- payloadType: Pull_Request
- isAction:
@@ -614,7 +633,7 @@ configuration:
then:
- removeMilestone
- addMilestone:
- milestone: 9.0.9
+ milestone: 9.0.11
description: '[Milestone Assignments] Assign Milestone to PRs merged to release/9.0 branch'
- if:
- payloadType: Pull_Request
@@ -625,7 +644,7 @@ configuration:
then:
- removeMilestone
- addMilestone:
- milestone: 8.0.20
+ milestone: 8.0.22
description: '[Milestone Assignments] Assign Milestone to PRs merged to release/8.0 branch'
- if:
- payloadType: Issues
@@ -743,3 +762,8 @@ configuration:
onFailure:
onSuccess:
+
+
+
+
+
diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml
index 8404f90ae630..07851e879e37 100644
--- a/.github/workflows/backport.yml
+++ b/.github/workflows/backport.yml
@@ -14,7 +14,7 @@ permissions:
jobs:
backport:
- uses: dotnet/arcade/.github/workflows/backport-base.yml@fac534d85b77789bd4daf2b4c916117f1ca381e7 # 2025-01-13
+ uses: dotnet/arcade/.github/workflows/backport-base.yml@7d717a49d570577936361c14de38bf61271aa274 # 2025-01-13
with:
pr_description_template: |
Backport of #%source_pr_number% to %target_branch%
@@ -63,6 +63,6 @@ jobs:
----
- ## When servicing release/2.1
+ ## When servicing release/2.3
- [ ] Make necessary changes in eng/PatchConfig.props
diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml
index 2714754f2c09..4c5de6fa415e 100644
--- a/.github/workflows/copilot-setup-steps.yml
+++ b/.github/workflows/copilot-setup-steps.yml
@@ -16,9 +16,28 @@ jobs:
steps:
- uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.2.2
- # Include PrepareForHelix to maximise what is downloaded here
+ # Include PrepareForHelix to maximise what is downloaded here
- name: Build solution
env:
# prevent GitInfo errors
CI: false
run: ./restore.sh
+
+ # For MCP servers like nuget's
+ - name: Install .NET 10.x
+ uses: actions/setup-dotnet@v5
+ with:
+ dotnet-version: |
+ 10.x
+ dotnet-quality: preview
+
+ # for MCP servers
+ - name: Install .NET 8.x
+ uses: actions/setup-dotnet@v5
+ with:
+ dotnet-version: |
+ 8.x
+
+ # Diagnostics in the log
+ - name: dotnet --info
+ run: dotnet --info
diff --git a/.github/workflows/inter-branch-merge-flow.yml b/.github/workflows/inter-branch-merge-flow.yml
index 135609265f53..fc01a178fbaa 100644
--- a/.github/workflows/inter-branch-merge-flow.yml
+++ b/.github/workflows/inter-branch-merge-flow.yml
@@ -7,7 +7,8 @@ on:
permissions:
contents: write
pull-requests: write
+ issues: write
jobs:
Merge:
- uses: dotnet/arcade/.github/workflows/inter-branch-merge-base.yml@fac534d85b77789bd4daf2b4c916117f1ca381e7 # 2024-06-24
+ uses: dotnet/arcade/.github/workflows/inter-branch-merge-base.yml@7d717a49d570577936361c14de38bf61271aa274 # 2024-06-24
diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml
index 1b50d0b4d6cd..c18412aa05c1 100644
--- a/.github/workflows/markdownlint.yml
+++ b/.github/workflows/markdownlint.yml
@@ -18,7 +18,7 @@ jobs:
steps:
- uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.2.2
- name: Use Node.js
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: 16.x
- name: Run Markdownlint
diff --git a/.github/workflows/runtime-sync.yml b/.github/workflows/runtime-sync.yml
index 23be75e0b7c7..d13aae6e5d95 100644
--- a/.github/workflows/runtime-sync.yml
+++ b/.github/workflows/runtime-sync.yml
@@ -47,7 +47,7 @@ jobs:
mkdir ..\artifacts
git status > ..\artifacts\status.txt
git diff > ..\artifacts\diff.txt
- - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
+ - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: results
path: artifacts
diff --git a/.github/workflows/update-jquery-validate.yml b/.github/workflows/update-jquery-validate.yml
index acd3fc13f179..57db6cdb1dcb 100644
--- a/.github/workflows/update-jquery-validate.yml
+++ b/.github/workflows/update-jquery-validate.yml
@@ -19,7 +19,7 @@ jobs:
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.2.2
- name: Setup Node.js
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: '20.x'
diff --git a/.github/workflows/validate-npm-package-lock-json.yml b/.github/workflows/validate-npm-package-lock-json.yml
index 288566e8d04e..6cc9adfb09de 100644
--- a/.github/workflows/validate-npm-package-lock-json.yml
+++ b/.github/workflows/validate-npm-package-lock-json.yml
@@ -20,7 +20,7 @@ jobs:
submodules: false
- name: Set up Node.js
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
+ uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with:
node-version: 20.x
diff --git a/.vscode/mcp.json b/.vscode/mcp.json
new file mode 100644
index 000000000000..3812a04e2bbb
--- /dev/null
+++ b/.vscode/mcp.json
@@ -0,0 +1,15 @@
+{
+ "servers": {
+ "playwright": {
+ "type": "stdio",
+ "command": "npx",
+ "args": [
+ "@playwright/mcp@latest"
+ ]
+ },
+ "microsoft.docs.mcp": {
+ "type": "http",
+ "url": "https://learn.microsoft.com/api/mcp"
+ }
+ }
+}
diff --git a/AspNetCore.slnx b/AspNetCore.slnx
index 60f5ca0d74fc..1ea39566c151 100644
--- a/AspNetCore.slnx
+++ b/AspNetCore.slnx
@@ -7,7 +7,6 @@
-
@@ -469,14 +468,6 @@
-
-
-
-
-
-
-
-
diff --git a/Directory.Build.props b/Directory.Build.props
index 2754f04d06c3..010dead7aff3 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -136,6 +136,8 @@
$(NoWarn);TBD
+
+ $(NoWarn);NU3027
diff --git a/Directory.Build.targets b/Directory.Build.targets
index a2245ab43544..ae356cd2d0ed 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -53,8 +53,6 @@
'$(IsBenchmarkProject)' == 'true' OR '$(IsSampleProject)' == 'true' OR '$(IsMicrobenchmarksProject)' == 'true') ">false
-
-
true
@@ -73,24 +71,6 @@
$(PackageVersion)
-
-
- $(BaselinePackageVersion.Substring(0, $(BaselinePackageVersion.IndexOf('-')))).0
- $(BaselinePackageVersion).0
-
- $(BaselinePackageVersion)
- $(BaselinePackageVersion)
-
-
- $(BaselinePackageVersion)
-
-
+
+
diff --git a/docs/BuildFromSource.md b/docs/BuildFromSource.md
index b4f15930027a..027388773422 100644
--- a/docs/BuildFromSource.md
+++ b/docs/BuildFromSource.md
@@ -214,7 +214,7 @@ While it's typically better to use the project-specific build scripts, the repo-
| ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| `.\eng\build.cmd -all -pack -arch x64` | Build development packages for all the shipping projects in the repo. Must be run from the root of the repo. |
| `.\eng\build.cmd -test -projects .\src\Framework\test\Microsoft.AspNetCore.App.UnitTests.csproj` | Run all the unit tests in the `Microsoft.AspNetCore.App.UnitTests` project. |
-| `.\eng\build.cmd -noBuildNative -noBuildManage` | Builds the repo and skips native and managed projects, a quicker alternative to `./restore.cmd`. Must be run from the root of the repo. |
+| `.\eng\build.cmd -noBuildNative -noBuildManaged` | Builds the repo and skips native and managed projects, a quicker alternative to `./restore.cmd`. Must be run from the root of the repo. |
## Complete list of repo dependencies
diff --git a/docs/PreparingPatchUpdates.md b/docs/PreparingPatchUpdates.md
index 5b069cb4b04d..5716ac2f3bdd 100644
--- a/docs/PreparingPatchUpdates.md
+++ b/docs/PreparingPatchUpdates.md
@@ -9,6 +9,3 @@ In order to prepare this repo to build a new servicing update, the following cha
- 7
+ 8
```
-
-* Update the package baselines. This is used to ensure packages keep a consistent set of dependencies between releases.
- See [eng/tools/BaselineGenerator/](/eng/tools/BaselineGenerator/README.md) for instructions on how to run this tool.
diff --git a/docs/ReferenceResolution.md b/docs/ReferenceResolution.md
index dd9bc10124e8..c33b8c852e31 100644
--- a/docs/ReferenceResolution.md
+++ b/docs/ReferenceResolution.md
@@ -12,7 +12,6 @@ The requirements that led to this system are:
* Versions of external dependencies should be consistent and easily discovered.
* Newer versions of packages should not have lower dependency versions than previous releases.
-* Minimize the cascading effect of servicing updates where possible by keeping a consistent baseline of dependencies.
* Servicing releases should not add or remove dependencies in existing packages.
As a minor point, the current system also makes our project files somewhat less verbose.
@@ -26,13 +25,9 @@ As a minor point, the current system also makes our project files somewhat less
* Only use `` in test projects.
* Name the .csproj file to match the assembly name.
* Run `eng/scripts/GenerateProjectList.ps1` (or `build.cmd /t:GenerateProjectList`) when adding new projects
-* Use [eng/tools/BaseLineGenerator/](/eng/tools/BaselineGenerator/README.md) if you need to update baselines.
-* If you need to make a breaking change to dependencies, you may need to add ``.
## Important files
-* [eng/Baseline.xml](/eng/Baseline.xml) - this contains the 'baseline' of the latest servicing release for this branch.
- It should be modified and used to update the generated file, [eng/Baseline.Designer.props](eng/Baseline.Designer.props).
* [eng/Dependencies.props](/eng/Dependencies.props) - contains a list of all package references that might be used in the repo.
* [eng/ProjectReferences.props](/eng/ProjectReferences.props) - lists which assemblies or packages might be available to be referenced as a local project.
* [eng/Versions.props](/eng/Versions.props) - contains a list of versions which may be updated by automation. This is used by MSBuild to restore and build.
@@ -86,20 +81,6 @@ Steps for adding a new package dependency to an existing project. Let's say I'm
The attribute value should be `"Microsoft.CodeAnalysis.Razor"` for dotnet/runtime dependencies in
dotnet/aspnetcore-tooling.
-## Example: make a breaking change to references
-
-If Microsoft.AspNetCore.Banana in 2.1 had a reference to `Microsoft.AspNetCore.Orange`, but in 3.1 or 5.0 this reference
-is changing to `Microsoft.AspNetCore.BetterThanOrange`, you would need to make these changes to the .csproj file
-
-```diff
-
-
--
-+
-+
-
-```
-
## A darc cheatsheet
`darc` is a command-line tool that is used for dependency management in the dotnet ecosystem of repos. `darc` can be installed using the `darc-init` scripts located inside the `eng/common` directory. Once `darc` is installed, you'll need to set up the appropriate access tokens as outlined [in the official Darc docs](https://github.com/dotnet/arcade/blob/master/Documentation/Darc.md#setting-up-your-darc-client).
diff --git a/docs/UpdatingMajorVersionAndTFM.md b/docs/UpdatingMajorVersionAndTFM.md
index 6fde9d8f98a8..76ed7a15346e 100644
--- a/docs/UpdatingMajorVersionAndTFM.md
+++ b/docs/UpdatingMajorVersionAndTFM.md
@@ -14,14 +14,13 @@ Typically, we will update the Major Version before updating the TFM. This is bec
1. Increment `AspNetCoreMajorVersion` by 1.
2. Change `PreReleaseVersionIteration` to `1`.
3. Change `PreReleaseVersionLabel` to `alpha`.
- 4. Change `PreReleaseBrandingLabel` to `Alpha $(PreReleaseVersionIteration)`.
+ Note: `PreReleaseBrandingLabel` is automatically calculated based on `PreReleaseVersionLabel` and does not need to be manually updated.
* Add entries to [NuGet.config](/NuGet.config) for the new Major Version's feed. This just means copying the current feeds (e.g. `dotnet8` and `dotnet8-transport`) and adding entries for the new feeds (`dotnet9` and `dotnet9-transport`). Make an effort to remove old feeds here at the same time.
* In [src/ProjectTemplates/Shared/TemplatePackageInstaller.cs](/src/ProjectTemplates/Shared/TemplatePackageInstaller.cs), add an entry to `_templatePackages` for `Microsoft.DotNet.Web.ProjectTemplates` matching the new version.
* In [eng/targets/CSharp.Common.props](/eng/targets/CSharp.Common.props) for the previous release branch, modify the `` to be a hardcoded version instead of `preview`. (e.g. If main is being updated to 8.0.0 modify the `` in the release/7.0 branch). See https://learn.microsoft.com/dotnet/csharp/language-reference/configure-language-version#defaults to find what language version to use.
* Mark APIs from the previous release as Shipped by running `.\eng\scripts\mark-shipped.cmd`. **Note that it's best to do this as early as possible after the API surface is finalized from the previous release** - make sure to be careful that any new API in `main` that isn't shipped as part of the previous release, stays in `PublicAPI.Unshipped.txt` files.
* One way to ensure this is to check out the release branch shipping the previous release (**after API surface area has been finalized**), run `.\eng\scripts\mark-shipped.cmd` there, copy over all of the `PublicAPI.Unshipped.txt` and `PublicAPI.Shipped.txt` files into a new branch based off of `main`, and build the repo. Any failures there will tell you whether or not there are new APIs in main that need to be put back into the `PublicAPI.Unshipped.txt` files.
* The result of `.\eng\scripts\mark-shipped.cmd` should be checked in to the release branch as well, as part of the RTM release.
-* Update `.\eng\Baseline.xml` to reflect the set of RTM packages that were just shipped. Then, `dotnet run` `.\eng\tools\BaselineGenerator\BaselineGenerator.csproj`, which will update `.\eng\Baseline.Designer.props`. If RTM hasn't shipped yet, do this in a separate PR once it has. See https://github.com/dotnet/aspnetcore/pull/49269.
* **In the new release branch**, add files named `.\eng\PlatformManifest.txt` and `.\eng\PackageOverrides.txt`. These files should be found by downloading the just released RTM version of the `Microsoft.AspNetCore.App.Ref` package, and copying over the files from the `data` folder.
* Update [helix-matrix.yml](https://github.com/dotnet/aspnetcore/blob/436556163a671259c8b14ae1c90d72767af62d18/.azure/pipelines/helix-matrix.yml#L12-L16) to list the currently active release branches.
* This should be done in `main` as well as the relevant release branch.
diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props
deleted file mode 100644
index f566358b9acb..000000000000
--- a/eng/Baseline.Designer.props
+++ /dev/null
@@ -1,1002 +0,0 @@
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 9.0.0
-
-
-
- 9.0.0
-
-
-
-
-
-
- 9.0.0
-
-
-
-
-
\ No newline at end of file
diff --git a/eng/Baseline.xml b/eng/Baseline.xml
deleted file mode 100644
index 1b4ce55e8e33..000000000000
--- a/eng/Baseline.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/eng/Build.props b/eng/Build.props
index 33d09a7a1017..764f8847521d 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -162,7 +162,6 @@
$(RepoRoot)src\Framework\App.Ref\src\Microsoft.AspNetCore.App.Ref.sfxproj;
$(RepoRoot)src\Framework\App.Ref.Internal\src\Microsoft.AspNetCore.App.Ref.Internal.csproj;
$(RepoRoot)src\Framework\App.Runtime\src\aspnetcore-runtime.proj;
- $(RepoRoot)src\Framework\App.Runtime\src\aspnetcore-runtime-composite.proj;
$(RepoRoot)src\Framework\App.Runtime\src\aspnetcore-base-runtime.proj;
$(RepoRoot)src\Framework\App.Runtime\bundle\aspnetcore-runtime-bundle.bundleproj;
$(RepoRoot)eng\tools\HelixTestRunner\HelixTestRunner.csproj;
@@ -175,6 +174,9 @@
$(RepoRoot)**\bin\**\*;
$(RepoRoot)**\obj\**\*;"
Condition=" '$(BuildMainlyReferenceProviders)' != 'true' " />
+
+
-
diff --git a/eng/ShippingAssemblies.props b/eng/ShippingAssemblies.props
index 0acec8474d50..6b969841ea81 100644
--- a/eng/ShippingAssemblies.props
+++ b/eng/ShippingAssemblies.props
@@ -132,7 +132,6 @@
-
diff --git a/eng/SignCheckExclusionsFile.txt b/eng/SignCheckExclusionsFile.txt
deleted file mode 100644
index a65b9f27f9b0..000000000000
--- a/eng/SignCheckExclusionsFile.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-*apphost.exe;; Exclude the apphost because this is expected to be code-signed by customers after the SDK modifies it.
-*.binlog;; MSBuild binary logs are not signed though they are sometimes placed where validation thinks they should be.
-*.js;; We do not sign JavaScript files.
-*netfxca|*wixca|*wixdepca|*wixuiwixca;*.msi; We do not sign WiX content in our installers.
-*wixstdba.dll;*.exe;
diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index f4a813d12a67..365baf9a09f0 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -6,118 +6,118 @@ This file should be imported by eng/Versions.props
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-beta.25479.115
- 10.0.0-beta.25479.115
- 10.0.0-beta.25479.115
- 10.0.0-beta.25479.115
- 10.0.0-beta.25479.115
- 10.0.0-beta.25479.115
- 10.0.0-beta.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 3.2.0-preview.25479.115
- 7.0.0-rc.48015
- 7.0.0-rc.48015
- 7.0.0-rc.48015
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
- 10.0.0-rtm.25479.115
+ 10.0.1-servicing.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 11.0.0-beta.25556.111
+ 11.0.0-beta.25556.111
+ 11.0.0-beta.25556.111
+ 11.0.0-beta.25556.111
+ 11.0.0-beta.25556.111
+ 11.0.0-beta.25556.111
+ 11.0.0-beta.25556.111
+ 10.0.1-servicing.25556.111
+ 10.0.1-servicing.25556.111
+ 10.0.1-servicing.25556.111
+ 10.0.1-servicing.25556.111
+ 10.0.1-servicing.25556.111
+ 10.0.1-servicing.25556.111
+ 10.0.1-servicing.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 3.2.0-preview.25556.111
+ 7.0.0-preview.1.5711
+ 7.0.0-preview.1.5711
+ 7.0.0-preview.1.5711
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
+ 10.0.0-rc.3.25556.111
4.13.0-3.24613.7
4.13.0-3.24613.7
4.13.0-3.24613.7
4.13.0-3.24613.7
- 9.10.0-preview.1.25475.1
- 9.10.0-preview.1.25475.1
- 9.10.0-preview.1.25475.1
+ 10.0.0-preview.1.25559.1
+ 10.0.0-preview.1.25559.1
+ 10.0.0-preview.1.25559.1
- 1.0.0-prerelease.25467.1
- 1.0.0-prerelease.25467.1
- 1.0.0-prerelease.25467.1
- 1.0.0-prerelease.25467.1
- 1.0.0-prerelease.25467.1
+ 1.0.0-prerelease.25502.1
+ 1.0.0-prerelease.25502.1
+ 1.0.0-prerelease.25502.1
+ 1.0.0-prerelease.25502.1
+ 1.0.0-prerelease.25502.1
- 17.12.36
- 17.12.36
- 17.12.36
- 17.12.36
+ 17.12.50
+ 17.12.50
+ 17.12.50
+ 17.12.50
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index eceb2d55f97a..6184b90e7642 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -8,333 +8,333 @@
See https://github.com/dotnet/arcade/blob/master/Documentation/Darc.md for instructions on using darc.
-->
-
+
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
@@ -358,99 +358,99 @@
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/extensions
- c4e57fb1e6b8403a527ea3cd737f1146dcbc1f31
+ 7ddf87e16c92efd0d6d4b7da4a9ee7d185e8835f
-
+
https://github.com/dotnet/extensions
- c4e57fb1e6b8403a527ea3cd737f1146dcbc1f31
+ 7ddf87e16c92efd0d6d4b7da4a9ee7d185e8835f
-
+
https://github.com/dotnet/extensions
- c4e57fb1e6b8403a527ea3cd737f1146dcbc1f31
+ 7ddf87e16c92efd0d6d4b7da4a9ee7d185e8835f
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 59dc6a9bf1b3e3ab71c73d94160c2049fb104cd1
+ 71ce9774e9875270b80faaac1d6b60568a80e1fa
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 59dc6a9bf1b3e3ab71c73d94160c2049fb104cd1
+ 71ce9774e9875270b80faaac1d6b60568a80e1fa
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 59dc6a9bf1b3e3ab71c73d94160c2049fb104cd1
+ 71ce9774e9875270b80faaac1d6b60568a80e1fa
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 59dc6a9bf1b3e3ab71c73d94160c2049fb104cd1
+ 71ce9774e9875270b80faaac1d6b60568a80e1fa
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
- 59dc6a9bf1b3e3ab71c73d94160c2049fb104cd1
+ 71ce9774e9875270b80faaac1d6b60568a80e1fa
-
+
https://github.com/dotnet/msbuild
d1cce8d7cc03c23a4f1bad8e9240714fd9d199a3
-
+
https://github.com/dotnet/msbuild
d1cce8d7cc03c23a4f1bad8e9240714fd9d199a3
-
+
https://github.com/dotnet/msbuild
d1cce8d7cc03c23a4f1bad8e9240714fd9d199a3
-
+
https://github.com/dotnet/msbuild
d1cce8d7cc03c23a4f1bad8e9240714fd9d199a3
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
-
+
https://github.com/dotnet/dotnet
- e72b5bbe719d747036ce9c36582a205df9f1c361
+ 77ee357638bcd8fa66a1c16fa588dcd5818068d2
diff --git a/eng/Versions.props b/eng/Versions.props
index df7f15551a4a..ce7f14aa09fd 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -10,8 +10,7 @@
10
0
0
-
- true
+ 3
8.0.1
*-*
false
release
- rtm
- RTM $(PreReleaseVersionIteration)
+ rc
+
+ Alpha $(PreReleaseVersionIteration)
+ Preview $(PreReleaseVersionIteration)
+ RC $(PreReleaseVersionIteration)
+ RTM
+ Servicing
true
false
$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)
@@ -164,11 +168,11 @@
13.0.3
13.0.4
2.5.2
- 1.54.0
+ 1.55.0
3.0.0
7.2.4
- 4.34.0
- 4.34.0
+ 4.36.0
+ 4.36.0
1.4.0
4.0.0
2.7.27
diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1
index 9445c3143258..fc8d618014e0 100644
--- a/eng/common/SetupNugetSources.ps1
+++ b/eng/common/SetupNugetSources.ps1
@@ -7,7 +7,7 @@
# See example call for this script below.
#
# - task: PowerShell@2
-# displayName: Setup Private Feeds Credentials
+# displayName: Setup internal Feeds Credentials
# condition: eq(variables['Agent.OS'], 'Windows_NT')
# inputs:
# filePath: $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.ps1
@@ -34,19 +34,28 @@ Set-StrictMode -Version 2.0
. $PSScriptRoot\tools.ps1
+# Adds or enables the package source with the given name
+function AddOrEnablePackageSource($sources, $disabledPackageSources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) {
+ if ($disabledPackageSources -eq $null -or -not (EnableInternalPackageSource -DisabledPackageSources $disabledPackageSources -Creds $creds -PackageSourceName $SourceName)) {
+ AddPackageSource -Sources $sources -SourceName $SourceName -SourceEndPoint $SourceEndPoint -Creds $creds -Username $userName -pwd $Password
+ }
+}
+
# Add source entry to PackageSources
function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) {
$packageSource = $sources.SelectSingleNode("add[@key='$SourceName']")
if ($packageSource -eq $null)
{
+ Write-Host "Adding package source $SourceName"
+
$packageSource = $doc.CreateElement("add")
$packageSource.SetAttribute("key", $SourceName)
$packageSource.SetAttribute("value", $SourceEndPoint)
$sources.AppendChild($packageSource) | Out-Null
}
else {
- Write-Host "Package source $SourceName already present."
+ Write-Host "Package source $SourceName already present and enabled."
}
AddCredential -Creds $creds -Source $SourceName -Username $Username -pwd $pwd
@@ -59,6 +68,8 @@ function AddCredential($creds, $source, $username, $pwd) {
return;
}
+ Write-Host "Inserting credential for feed: " $source
+
# Looks for credential configuration for the given SourceName. Create it if none is found.
$sourceElement = $creds.SelectSingleNode($Source)
if ($sourceElement -eq $null)
@@ -91,24 +102,27 @@ function AddCredential($creds, $source, $username, $pwd) {
$passwordElement.SetAttribute("value", $pwd)
}
-function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $pwd) {
- $maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
-
- Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds."
-
- ForEach ($PackageSource in $maestroPrivateSources) {
- Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key
- AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -pwd $pwd
+# Enable all darc-int package sources.
+function EnableMaestroInternalPackageSources($DisabledPackageSources, $Creds) {
+ $maestroInternalSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]")
+ ForEach ($DisabledPackageSource in $maestroInternalSources) {
+ EnableInternalPackageSource -DisabledPackageSources $DisabledPackageSources -Creds $Creds -PackageSourceName $DisabledPackageSource.key
}
}
-function EnablePrivatePackageSources($DisabledPackageSources) {
- $maestroPrivateSources = $DisabledPackageSources.SelectNodes("add[contains(@key,'darc-int')]")
- ForEach ($DisabledPackageSource in $maestroPrivateSources) {
- Write-Host "`tEnsuring private source '$($DisabledPackageSource.key)' is enabled by deleting it from disabledPackageSource"
+# Enables an internal package source by name, if found. Returns true if the package source was found and enabled, false otherwise.
+function EnableInternalPackageSource($DisabledPackageSources, $Creds, $PackageSourceName) {
+ $DisabledPackageSource = $DisabledPackageSources.SelectSingleNode("add[@key='$PackageSourceName']")
+ if ($DisabledPackageSource) {
+ Write-Host "Enabling internal source '$($DisabledPackageSource.key)'."
+
# Due to https://github.com/NuGet/Home/issues/10291, we must actually remove the disabled entries
$DisabledPackageSources.RemoveChild($DisabledPackageSource)
+
+ AddCredential -Creds $creds -Source $DisabledPackageSource.Key -Username $userName -pwd $Password
+ return $true
}
+ return $false
}
if (!(Test-Path $ConfigFile -PathType Leaf)) {
@@ -121,15 +135,17 @@ $doc = New-Object System.Xml.XmlDocument
$filename = (Get-Item $ConfigFile).FullName
$doc.Load($filename)
-# Get reference to or create one if none exist already
+# Get reference to - fail if none exist
$sources = $doc.DocumentElement.SelectSingleNode("packageSources")
if ($sources -eq $null) {
- $sources = $doc.CreateElement("packageSources")
- $doc.DocumentElement.AppendChild($sources) | Out-Null
+ Write-PipelineTelemetryError -Category 'Build' -Message "Eng/common/SetupNugetSources.ps1 returned a non-zero exit code. NuGet config file must contain a packageSources section: $ConfigFile"
+ ExitWithExitCode 1
}
$creds = $null
+$feedSuffix = "v3/index.json"
if ($Password) {
+ $feedSuffix = "v2"
# Looks for a node. Create it if none is found.
$creds = $doc.DocumentElement.SelectSingleNode("packageSourceCredentials")
if ($creds -eq $null) {
@@ -138,33 +154,22 @@ if ($Password) {
}
}
+$userName = "dn-bot"
+
# Check for disabledPackageSources; we'll enable any darc-int ones we find there
$disabledSources = $doc.DocumentElement.SelectSingleNode("disabledPackageSources")
if ($disabledSources -ne $null) {
Write-Host "Checking for any darc-int disabled package sources in the disabledPackageSources node"
- EnablePrivatePackageSources -DisabledPackageSources $disabledSources
-}
-
-$userName = "dn-bot"
-
-# Insert credential nodes for Maestro's private feeds
-InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -pwd $Password
-
-# 3.1 uses a different feed url format so it's handled differently here
-$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
-if ($dotnet31Source -ne $null) {
- AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password
- AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password
+ EnableMaestroInternalPackageSources -DisabledPackageSources $disabledSources -Creds $creds
}
-
$dotnetVersions = @('5','6','7','8','9','10')
foreach ($dotnetVersion in $dotnetVersions) {
$feedPrefix = "dotnet" + $dotnetVersion;
$dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']")
if ($dotnetSource -ne $null) {
- AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password
- AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password
+ AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password
+ AddOrEnablePackageSource -Sources $sources -DisabledPackageSources $disabledSources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/$feedSuffix" -Creds $creds -Username $userName -pwd $Password
}
}
diff --git a/eng/common/SetupNugetSources.sh b/eng/common/SetupNugetSources.sh
index ddf4efc81a4a..b97cc536379d 100755
--- a/eng/common/SetupNugetSources.sh
+++ b/eng/common/SetupNugetSources.sh
@@ -52,78 +52,124 @@ if [[ `uname -s` == "Darwin" ]]; then
TB=''
fi
-# Ensure there is a ... section.
-grep -i "" $ConfigFile
-if [ "$?" != "0" ]; then
- echo "Adding ... section."
- ConfigNodeHeader=""
- PackageSourcesTemplate="${TB}${NL}${TB}"
+# Enables an internal package source by name, if found. Returns 0 if found and enabled, 1 if not found.
+EnableInternalPackageSource() {
+ local PackageSourceName="$1"
+
+ # Check if disabledPackageSources section exists
+ grep -i "" "$ConfigFile" > /dev/null
+ if [ "$?" != "0" ]; then
+ return 1 # No disabled sources section
+ fi
+
+ # Check if this source name is disabled
+ grep -i " /dev/null
+ if [ "$?" == "0" ]; then
+ echo "Enabling internal source '$PackageSourceName'."
+ # Remove the disabled entry (including any surrounding comments or whitespace on the same line)
+ sed -i.bak "//d" "$ConfigFile"
+
+ # Add the source name to PackageSources for credential handling
+ PackageSources+=("$PackageSourceName")
+ return 0 # Found and enabled
+ fi
+
+ return 1 # Not found in disabled sources
+}
+
+# Add source entry to PackageSources
+AddPackageSource() {
+ local SourceName="$1"
+ local SourceEndPoint="$2"
+
+ # Check if source already exists
+ grep -i " /dev/null
+ if [ "$?" == "0" ]; then
+ echo "Package source $SourceName already present and enabled."
+ PackageSources+=("$SourceName")
+ return
+ fi
+
+ echo "Adding package source $SourceName"
+ PackageSourcesNodeFooter=""
+ PackageSourceTemplate="${TB}"
+
+ sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" "$ConfigFile"
+ PackageSources+=("$SourceName")
+}
+
+# Adds or enables the package source with the given name
+AddOrEnablePackageSource() {
+ local SourceName="$1"
+ local SourceEndPoint="$2"
+
+ # Try to enable if disabled, if not found then add new source
+ EnableInternalPackageSource "$SourceName"
+ if [ "$?" != "0" ]; then
+ AddPackageSource "$SourceName" "$SourceEndPoint"
+ fi
+}
- sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" $ConfigFile
-fi
+# Enable all darc-int package sources
+EnableMaestroInternalPackageSources() {
+ # Check if disabledPackageSources section exists
+ grep -i "" "$ConfigFile" > /dev/null
+ if [ "$?" != "0" ]; then
+ return # No disabled sources section
+ fi
+
+ # Find all darc-int disabled sources
+ local DisabledDarcIntSources=()
+ DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' "$ConfigFile" | tr -d '"')
+
+ for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do
+ if [[ $DisabledSourceName == darc-int* ]]; then
+ EnableInternalPackageSource "$DisabledSourceName"
+ fi
+ done
+}
-# Ensure there is a ... section.
-grep -i "" $ConfigFile
+# Ensure there is a ... section.
+grep -i "" $ConfigFile
if [ "$?" != "0" ]; then
- echo "Adding ... section."
-
- PackageSourcesNodeFooter=""
- PackageSourceCredentialsTemplate="${TB}${NL}${TB}"
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile
+ Write-PipelineTelemetryError -Category 'Build' "Error: Eng/common/SetupNugetSources.sh returned a non-zero exit code. NuGet config file must contain a packageSources section: $ConfigFile"
+ ExitWithExitCode 1
fi
PackageSources=()
-# Ensure dotnet3.1-internal and dotnet3.1-internal-transport are in the packageSources if the public dotnet3.1 feeds are present
-grep -i "... section.
+ grep -i "" $ConfigFile
if [ "$?" != "0" ]; then
- echo "Adding dotnet3.1-internal to the packageSources."
- PackageSourcesNodeFooter=""
- PackageSourceTemplate="${TB}"
+ echo "Adding ... section."
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=('dotnet3.1-internal')
-
- grep -i "" $ConfigFile
- if [ "$?" != "0" ]; then
- echo "Adding dotnet3.1-internal-transport to the packageSources."
PackageSourcesNodeFooter=""
- PackageSourceTemplate="${TB}"
+ PackageSourceCredentialsTemplate="${TB}${NL}${TB}"
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
+ sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" $ConfigFile
fi
- PackageSources+=('dotnet3.1-internal-transport')
+fi
+
+# Check for disabledPackageSources; we'll enable any darc-int ones we find there
+grep -i "" $ConfigFile > /dev/null
+if [ "$?" == "0" ]; then
+ echo "Checking for any darc-int disabled package sources in the disabledPackageSources node"
+ EnableMaestroInternalPackageSources
fi
DotNetVersions=('5' '6' '7' '8' '9' '10')
for DotNetVersion in ${DotNetVersions[@]} ; do
FeedPrefix="dotnet${DotNetVersion}";
- grep -i " /dev/null
if [ "$?" == "0" ]; then
- grep -i ""
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=("$FeedPrefix-internal")
-
- grep -i "" $ConfigFile
- if [ "$?" != "0" ]; then
- echo "Adding $FeedPrefix-internal-transport to the packageSources."
- PackageSourcesNodeFooter=""
- PackageSourceTemplate="${TB}"
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=("$FeedPrefix-internal-transport")
+ AddOrEnablePackageSource "$FeedPrefix-internal" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal/nuget/$FeedSuffix"
+ AddOrEnablePackageSource "$FeedPrefix-internal-transport" "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$FeedPrefix-internal-transport/nuget/$FeedSuffix"
fi
done
@@ -139,29 +185,12 @@ if [ "$CredToken" ]; then
# Check if there is no existing credential for this FeedName
grep -i "<$FeedName>" $ConfigFile
if [ "$?" != "0" ]; then
- echo "Adding credentials for $FeedName."
+ echo " Inserting credential for feed: $FeedName"
PackageSourceCredentialsNodeFooter=""
- NewCredential="${TB}${TB}<$FeedName>${NL}${NL}${NL}$FeedName>"
+ NewCredential="${TB}${TB}<$FeedName>${NL}${TB}${NL}${TB}${TB}${NL}${TB}${TB}$FeedName>"
sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" $ConfigFile
fi
done
fi
-
-# Re-enable any entries in disabledPackageSources where the feed name contains darc-int
-grep -i "" $ConfigFile
-if [ "$?" == "0" ]; then
- DisabledDarcIntSources=()
- echo "Re-enabling any disabled \"darc-int\" package sources in $ConfigFile"
- DisabledDarcIntSources+=$(grep -oh '"darc-int-[^"]*" value="true"' $ConfigFile | tr -d '"')
- for DisabledSourceName in ${DisabledDarcIntSources[@]} ; do
- if [[ $DisabledSourceName == darc-int* ]]
- then
- OldDisableValue=""
- NewDisableValue=""
- sed -i.bak "s|$OldDisableValue|$NewDisableValue|" $ConfigFile
- echo "Neutralized disablePackageSources entry for '$DisabledSourceName'"
- fi
- done
-fi
diff --git a/eng/common/build.sh b/eng/common/build.sh
index 9767bb411a4f..ec3e80d189ea 100755
--- a/eng/common/build.sh
+++ b/eng/common/build.sh
@@ -92,7 +92,7 @@ runtime_source_feed=''
runtime_source_feed_key=''
properties=()
-while [[ $# > 0 ]]; do
+while [[ $# -gt 0 ]]; do
opt="$(echo "${1/#--/-}" | tr "[:upper:]" "[:lower:]")"
case "$opt" in
-help|-h)
diff --git a/eng/common/core-templates/job/job.yml b/eng/common/core-templates/job/job.yml
index 5ce518406198..cb4ccc023a33 100644
--- a/eng/common/core-templates/job/job.yml
+++ b/eng/common/core-templates/job/job.yml
@@ -19,6 +19,8 @@ parameters:
# publishing defaults
artifacts: ''
enableMicrobuild: false
+ enablePreviewMicrobuild: false
+ microbuildPluginVersion: 'latest'
enableMicrobuildForMacAndLinux: false
microbuildUseESRP: true
enablePublishBuildArtifacts: false
@@ -128,6 +130,8 @@ jobs:
- template: /eng/common/core-templates/steps/install-microbuild.yml
parameters:
enableMicrobuild: ${{ parameters.enableMicrobuild }}
+ enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
+ microbuildPluginVersion: ${{ parameters.microbuildPluginVersion }}
enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }}
microbuildUseESRP: ${{ parameters.microbuildUseESRP }}
continueOnError: ${{ parameters.continueOnError }}
@@ -153,6 +157,8 @@ jobs:
- template: /eng/common/core-templates/steps/cleanup-microbuild.yml
parameters:
enableMicrobuild: ${{ parameters.enableMicrobuild }}
+ enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
+ microbuildPluginVersion: ${{ parameters.microbuildPluginVersion }}
enableMicrobuildForMacAndLinux: ${{ parameters.enableMicrobuildForMacAndLinux }}
continueOnError: ${{ parameters.continueOnError }}
diff --git a/eng/common/core-templates/job/publish-build-assets.yml b/eng/common/core-templates/job/publish-build-assets.yml
index 37dff559fc1b..4d282377c187 100644
--- a/eng/common/core-templates/job/publish-build-assets.yml
+++ b/eng/common/core-templates/job/publish-build-assets.yml
@@ -91,8 +91,8 @@ jobs:
fetchDepth: 3
clean: true
- - ${{ if eq(parameters.isAssetlessBuild, 'false') }}:
- - ${{ if eq(parameters.publishingVersion, 3) }}:
+ - ${{ if eq(parameters.isAssetlessBuild, 'false') }}:
+ - ${{ if eq(parameters.publishingVersion, 3) }}:
- task: DownloadPipelineArtifact@2
displayName: Download Asset Manifests
inputs:
@@ -117,9 +117,16 @@ jobs:
flattenFolders: true
condition: ${{ parameters.condition }}
continueOnError: ${{ parameters.continueOnError }}
-
+
- task: NuGetAuthenticate@1
+ # Populate internal runtime variables.
+ - template: /eng/common/templates/steps/enable-internal-sources.yml
+ parameters:
+ legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw)
+
+ - template: /eng/common/templates/steps/enable-internal-runtimes.yml
+
- task: AzureCLI@2
displayName: Publish Build Assets
inputs:
@@ -132,9 +139,12 @@ jobs:
/p:IsAssetlessBuild=${{ parameters.isAssetlessBuild }}
/p:MaestroApiEndpoint=https://maestro.dot.net
/p:OfficialBuildId=$(OfficialBuildId)
+ -runtimeSourceFeed https://ci.dot.net/internal
+ -runtimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
+
condition: ${{ parameters.condition }}
continueOnError: ${{ parameters.continueOnError }}
-
+
- task: powershell@2
displayName: Create ReleaseConfigs Artifact
inputs:
@@ -162,7 +172,7 @@ jobs:
artifactName: AssetManifests
displayName: 'Publish Merged Manifest'
retryCountOnTaskFailure: 10 # for any logs being locked
- sbomEnabled: false # we don't need SBOM for logs
+ sbomEnabled: false # we don't need SBOM for logs
- template: /eng/common/core-templates/steps/publish-build-artifacts.yml
parameters:
@@ -179,6 +189,11 @@ jobs:
BARBuildId: ${{ parameters.BARBuildId }}
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
is1ESPipeline: ${{ parameters.is1ESPipeline }}
+
+ # Darc is targeting 8.0, so make sure it's installed
+ - task: UseDotNet@2
+ inputs:
+ version: 8.0.x
- task: AzureCLI@2
displayName: Publish Using Darc
@@ -195,9 +210,11 @@ jobs:
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
-SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}'
+ -runtimeSourceFeed https://ci.dot.net/internal
+ -runtimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
- ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
- template: /eng/common/core-templates/steps/publish-logs.yml
parameters:
is1ESPipeline: ${{ parameters.is1ESPipeline }}
- JobLabel: 'Publish_Artifacts_Logs'
+ JobLabel: 'Publish_Artifacts_Logs'
diff --git a/eng/common/core-templates/post-build/post-build.yml b/eng/common/core-templates/post-build/post-build.yml
index f6f87fe5c675..0af41fe5f9f7 100644
--- a/eng/common/core-templates/post-build/post-build.yml
+++ b/eng/common/core-templates/post-build/post-build.yml
@@ -1,106 +1,106 @@
parameters:
- # Which publishing infra should be used. THIS SHOULD MATCH THE VERSION ON THE BUILD MANIFEST.
- # Publishing V1 is no longer supported
- # Publishing V2 is no longer supported
- # Publishing V3 is the default
- - name: publishingInfraVersion
- displayName: Which version of publishing should be used to promote the build definition?
- type: number
- default: 3
- values:
- - 3
-
- - name: BARBuildId
- displayName: BAR Build Id
- type: number
- default: 0
-
- - name: PromoteToChannelIds
- displayName: Channel to promote BARBuildId to
- type: string
- default: ''
-
- - name: enableSourceLinkValidation
- displayName: Enable SourceLink validation
- type: boolean
- default: false
-
- - name: enableSigningValidation
- displayName: Enable signing validation
- type: boolean
- default: true
-
- - name: enableSymbolValidation
- displayName: Enable symbol validation
- type: boolean
- default: false
-
- - name: enableNugetValidation
- displayName: Enable NuGet validation
- type: boolean
- default: true
-
- - name: publishInstallersAndChecksums
- displayName: Publish installers and checksums
- type: boolean
- default: true
-
- - name: requireDefaultChannels
- displayName: Fail the build if there are no default channel(s) registrations for the current build
- type: boolean
- default: false
-
- - name: SDLValidationParameters
- type: object
- default:
- enable: false
- publishGdn: false
- continueOnError: false
- params: ''
- artifactNames: ''
- downloadArtifacts: true
-
- - name: isAssetlessBuild
- type: boolean
- displayName: Is Assetless Build
- default: false
-
- # These parameters let the user customize the call to sdk-task.ps1 for publishing
- # symbols & general artifacts as well as for signing validation
- - name: symbolPublishingAdditionalParameters
- displayName: Symbol publishing additional parameters
- type: string
- default: ''
-
- - name: artifactsPublishingAdditionalParameters
- displayName: Artifact publishing additional parameters
- type: string
- default: ''
-
- - name: signingValidationAdditionalParameters
- displayName: Signing validation additional parameters
- type: string
- default: ''
-
- # Which stages should finish execution before post-build stages start
- - name: validateDependsOn
- type: object
- default:
- - build
-
- - name: publishDependsOn
- type: object
- default:
- - Validate
-
- # Optional: Call asset publishing rather than running in a separate stage
- - name: publishAssetsImmediately
- type: boolean
- default: false
-
- - name: is1ESPipeline
- type: boolean
- default: false
+# Which publishing infra should be used. THIS SHOULD MATCH THE VERSION ON THE BUILD MANIFEST.
+# Publishing V1 is no longer supported
+# Publishing V2 is no longer supported
+# Publishing V3 is the default
+- name: publishingInfraVersion
+ displayName: Which version of publishing should be used to promote the build definition?
+ type: number
+ default: 3
+ values:
+ - 3
+
+- name: BARBuildId
+ displayName: BAR Build Id
+ type: number
+ default: 0
+
+- name: PromoteToChannelIds
+ displayName: Channel to promote BARBuildId to
+ type: string
+ default: ''
+
+- name: enableSourceLinkValidation
+ displayName: Enable SourceLink validation
+ type: boolean
+ default: false
+
+- name: enableSigningValidation
+ displayName: Enable signing validation
+ type: boolean
+ default: true
+
+- name: enableSymbolValidation
+ displayName: Enable symbol validation
+ type: boolean
+ default: false
+
+- name: enableNugetValidation
+ displayName: Enable NuGet validation
+ type: boolean
+ default: true
+
+- name: publishInstallersAndChecksums
+ displayName: Publish installers and checksums
+ type: boolean
+ default: true
+
+- name: requireDefaultChannels
+ displayName: Fail the build if there are no default channel(s) registrations for the current build
+ type: boolean
+ default: false
+
+- name: SDLValidationParameters
+ type: object
+ default:
+ enable: false
+ publishGdn: false
+ continueOnError: false
+ params: ''
+ artifactNames: ''
+ downloadArtifacts: true
+
+- name: isAssetlessBuild
+ type: boolean
+ displayName: Is Assetless Build
+ default: false
+
+# These parameters let the user customize the call to sdk-task.ps1 for publishing
+# symbols & general artifacts as well as for signing validation
+- name: symbolPublishingAdditionalParameters
+ displayName: Symbol publishing additional parameters
+ type: string
+ default: ''
+
+- name: artifactsPublishingAdditionalParameters
+ displayName: Artifact publishing additional parameters
+ type: string
+ default: ''
+
+- name: signingValidationAdditionalParameters
+ displayName: Signing validation additional parameters
+ type: string
+ default: ''
+
+# Which stages should finish execution before post-build stages start
+- name: validateDependsOn
+ type: object
+ default:
+ - build
+
+- name: publishDependsOn
+ type: object
+ default:
+ - Validate
+
+# Optional: Call asset publishing rather than running in a separate stage
+- name: publishAssetsImmediately
+ type: boolean
+ default: false
+
+- name: is1ESPipeline
+ type: boolean
+ default: false
stages:
- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
@@ -108,10 +108,10 @@ stages:
dependsOn: ${{ parameters.validateDependsOn }}
displayName: Validate Build Assets
variables:
- - template: /eng/common/core-templates/post-build/common-variables.yml
- - template: /eng/common/core-templates/variables/pool-providers.yml
- parameters:
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
+ - template: /eng/common/core-templates/post-build/common-variables.yml
+ - template: /eng/common/core-templates/variables/pool-providers.yml
+ parameters:
+ is1ESPipeline: ${{ parameters.is1ESPipeline }}
jobs:
- job:
displayName: NuGet Validation
@@ -134,28 +134,28 @@ stages:
demands: ImageOverride -equals windows.vs2022.amd64
steps:
- - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
- parameters:
- BARBuildId: ${{ parameters.BARBuildId }}
- PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
-
- - task: DownloadBuildArtifacts@0
- displayName: Download Package Artifacts
- inputs:
- buildType: specific
- buildVersionToDownload: specific
- project: $(AzDOProjectName)
- pipeline: $(AzDOPipelineId)
- buildId: $(AzDOBuildId)
- artifactName: PackageArtifacts
- checkDownloadedFiles: true
-
- - task: PowerShell@2
- displayName: Validate
- inputs:
- filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1
- arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/
+ - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
+ parameters:
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
+ is1ESPipeline: ${{ parameters.is1ESPipeline }}
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Package Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: PackageArtifacts
+ checkDownloadedFiles: true
+
+ - task: PowerShell@2
+ displayName: Validate
+ inputs:
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1
+ arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/
- job:
displayName: Signing Validation
@@ -169,54 +169,54 @@ stages:
os: windows
# If it's not devdiv, it's dnceng
${{ else }}:
- ${{ if eq(parameters.is1ESPipeline, true) }}:
+ ${{ if eq(parameters.is1ESPipeline, true) }}:
name: $(DncEngInternalBuildPool)
image: 1es-windows-2022
os: windows
${{ else }}:
name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals windows.vs2022.amd64
+ demands: ImageOverride -equals windows.vs2022.amd64
steps:
- - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
- parameters:
- BARBuildId: ${{ parameters.BARBuildId }}
- PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
-
- - task: DownloadBuildArtifacts@0
- displayName: Download Package Artifacts
- inputs:
- buildType: specific
- buildVersionToDownload: specific
- project: $(AzDOProjectName)
- pipeline: $(AzDOPipelineId)
- buildId: $(AzDOBuildId)
- artifactName: PackageArtifacts
- checkDownloadedFiles: true
-
- # This is necessary whenever we want to publish/restore to an AzDO private feed
- # Since sdk-task.ps1 tries to restore packages we need to do this authentication here
- # otherwise it'll complain about accessing a private feed.
- - task: NuGetAuthenticate@1
- displayName: 'Authenticate to AzDO Feeds'
-
- # Signing validation will optionally work with the buildmanifest file which is downloaded from
- # Azure DevOps above.
- - task: PowerShell@2
- displayName: Validate
- inputs:
- filePath: eng\common\sdk-task.ps1
- arguments: -task SigningValidation -restore -msbuildEngine vs
- /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
- /p:SignCheckExclusionsFile='$(System.DefaultWorkingDirectory)/eng/SignCheckExclusionsFile.txt'
- ${{ parameters.signingValidationAdditionalParameters }}
-
- - template: /eng/common/core-templates/steps/publish-logs.yml
- parameters:
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
- StageLabel: 'Validation'
- JobLabel: 'Signing'
- BinlogToolVersion: $(BinlogToolVersion)
+ - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
+ parameters:
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
+ is1ESPipeline: ${{ parameters.is1ESPipeline }}
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Package Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: PackageArtifacts
+ checkDownloadedFiles: true
+
+ # This is necessary whenever we want to publish/restore to an AzDO private feed
+ # Since sdk-task.ps1 tries to restore packages we need to do this authentication here
+ # otherwise it'll complain about accessing a private feed.
+ - task: NuGetAuthenticate@1
+ displayName: 'Authenticate to AzDO Feeds'
+
+ # Signing validation will optionally work with the buildmanifest file which is downloaded from
+ # Azure DevOps above.
+ - task: PowerShell@2
+ displayName: Validate
+ inputs:
+ filePath: eng\common\sdk-task.ps1
+ arguments: -task SigningValidation -restore -msbuildEngine vs
+ /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
+ /p:SignCheckExclusionsFile='$(System.DefaultWorkingDirectory)/eng/SignCheckExclusionsFile.txt'
+ ${{ parameters.signingValidationAdditionalParameters }}
+
+ - template: /eng/common/core-templates/steps/publish-logs.yml
+ parameters:
+ is1ESPipeline: ${{ parameters.is1ESPipeline }}
+ StageLabel: 'Validation'
+ JobLabel: 'Signing'
+ BinlogToolVersion: $(BinlogToolVersion)
- job:
displayName: SourceLink Validation
@@ -230,41 +230,41 @@ stages:
os: windows
# If it's not devdiv, it's dnceng
${{ else }}:
- ${{ if eq(parameters.is1ESPipeline, true) }}:
+ ${{ if eq(parameters.is1ESPipeline, true) }}:
name: $(DncEngInternalBuildPool)
image: 1es-windows-2022
os: windows
${{ else }}:
name: $(DncEngInternalBuildPool)
- demands: ImageOverride -equals windows.vs2022.amd64
+ demands: ImageOverride -equals windows.vs2022.amd64
steps:
- - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
- parameters:
- BARBuildId: ${{ parameters.BARBuildId }}
- PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
-
- - task: DownloadBuildArtifacts@0
- displayName: Download Blob Artifacts
- inputs:
- buildType: specific
- buildVersionToDownload: specific
- project: $(AzDOProjectName)
- pipeline: $(AzDOPipelineId)
- buildId: $(AzDOBuildId)
- artifactName: BlobArtifacts
- checkDownloadedFiles: true
-
- - task: PowerShell@2
- displayName: Validate
- inputs:
- filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/sourcelink-validation.ps1
- arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
- -ExtractPath $(Agent.BuildDirectory)/Extract/
- -GHRepoName $(Build.Repository.Name)
- -GHCommit $(Build.SourceVersion)
- -SourcelinkCliVersion $(SourceLinkCLIVersion)
- continueOnError: true
+ - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
+ parameters:
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
+ is1ESPipeline: ${{ parameters.is1ESPipeline }}
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Blob Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: BlobArtifacts
+ checkDownloadedFiles: true
+
+ - task: PowerShell@2
+ displayName: Validate
+ inputs:
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/sourcelink-validation.ps1
+ arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
+ -ExtractPath $(Agent.BuildDirectory)/Extract/
+ -GHRepoName $(Build.Repository.Name)
+ -GHCommit $(Build.SourceVersion)
+ -SourcelinkCliVersion $(SourceLinkCLIVersion)
+ continueOnError: true
- ${{ if ne(parameters.publishAssetsImmediately, 'true') }}:
- stage: publish_using_darc
@@ -274,10 +274,10 @@ stages:
dependsOn: ${{ parameters.validateDependsOn }}
displayName: Publish using Darc
variables:
- - template: /eng/common/core-templates/post-build/common-variables.yml
- - template: /eng/common/core-templates/variables/pool-providers.yml
- parameters:
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
+ - template: /eng/common/core-templates/post-build/common-variables.yml
+ - template: /eng/common/core-templates/variables/pool-providers.yml
+ parameters:
+ is1ESPipeline: ${{ parameters.is1ESPipeline }}
jobs:
- job:
displayName: Publish Using Darc
@@ -291,30 +291,40 @@ stages:
os: windows
# If it's not devdiv, it's dnceng
${{ else }}:
- ${{ if eq(parameters.is1ESPipeline, true) }}:
+ ${{ if eq(parameters.is1ESPipeline, true) }}:
name: NetCore1ESPool-Publishing-Internal
image: windows.vs2019.amd64
os: windows
${{ else }}:
name: NetCore1ESPool-Publishing-Internal
- demands: ImageOverride -equals windows.vs2019.amd64
+ demands: ImageOverride -equals windows.vs2019.amd64
steps:
- - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
- parameters:
- BARBuildId: ${{ parameters.BARBuildId }}
- PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
-
- - task: NuGetAuthenticate@1
-
- - task: AzureCLI@2
- displayName: Publish Using Darc
- inputs:
- azureSubscription: "Darc: Maestro Production"
- scriptType: ps
- scriptLocation: scriptPath
- scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1
- arguments: >
+ - template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
+ parameters:
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
+ is1ESPipeline: ${{ parameters.is1ESPipeline }}
+
+ - task: NuGetAuthenticate@1 # Populate internal runtime variables.
+
+ - template: /eng/common/templates/steps/enable-internal-sources.yml
+ parameters:
+ legacyCredential: $(dn-bot-dnceng-artifact-feeds-rw)
+
+ - template: /eng/common/templates/steps/enable-internal-runtimes.yml
+
+ - task: UseDotNet@2
+ inputs:
+ version: 8.0.x
+
+ - task: AzureCLI@2
+ displayName: Publish Using Darc
+ inputs:
+ azureSubscription: "Darc: Maestro Production"
+ scriptType: ps
+ scriptLocation: scriptPath
+ scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1
+ arguments: >
-BuildId $(BARBuildId)
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
-AzdoToken '$(System.AccessToken)'
@@ -323,3 +333,5 @@ stages:
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
-SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}'
+ -runtimeSourceFeed https://ci.dot.net/internal
+ -runtimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
diff --git a/eng/common/core-templates/steps/generate-sbom.yml b/eng/common/core-templates/steps/generate-sbom.yml
index c05f65027979..003f7eae0fa5 100644
--- a/eng/common/core-templates/steps/generate-sbom.yml
+++ b/eng/common/core-templates/steps/generate-sbom.yml
@@ -5,7 +5,7 @@
# IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector.
parameters:
- PackageVersion: 10.0.0
+ PackageVersion: 11.0.0
BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts'
PackageName: '.NET'
ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom
diff --git a/eng/common/core-templates/steps/install-microbuild-impl.yml b/eng/common/core-templates/steps/install-microbuild-impl.yml
new file mode 100644
index 000000000000..b9e0143ee92a
--- /dev/null
+++ b/eng/common/core-templates/steps/install-microbuild-impl.yml
@@ -0,0 +1,34 @@
+parameters:
+ - name: microbuildTaskInputs
+ type: object
+ default: {}
+
+ - name: microbuildEnv
+ type: object
+ default: {}
+
+ - name: enablePreviewMicrobuild
+ type: boolean
+ default: false
+
+ - name: condition
+ type: string
+
+ - name: continueOnError
+ type: boolean
+
+steps:
+- ${{ if eq(parameters.enablePreviewMicrobuild, 'true') }}:
+ - task: MicroBuildSigningPluginPreview@4
+ displayName: Install Preview MicroBuild plugin
+ inputs: ${{ parameters.microbuildTaskInputs }}
+ env: ${{ parameters.microbuildEnv }}
+ continueOnError: ${{ parameters.continueOnError }}
+ condition: ${{ parameters.condition }}
+- ${{ else }}:
+ - task: MicroBuildSigningPlugin@4
+ displayName: Install MicroBuild plugin
+ inputs: ${{ parameters.microbuildTaskInputs }}
+ env: ${{ parameters.microbuildEnv }}
+ continueOnError: ${{ parameters.continueOnError }}
+ condition: ${{ parameters.condition }}
diff --git a/eng/common/core-templates/steps/install-microbuild.yml b/eng/common/core-templates/steps/install-microbuild.yml
index d6b9878f54db..bdebec0eaa9b 100644
--- a/eng/common/core-templates/steps/install-microbuild.yml
+++ b/eng/common/core-templates/steps/install-microbuild.yml
@@ -4,6 +4,8 @@ parameters:
# Enable install tasks for MicroBuild on Mac and Linux
# Will be ignored if 'enableMicrobuild' is false or 'Agent.Os' is 'Windows_NT'
enableMicrobuildForMacAndLinux: false
+ # Enable preview version of MB signing plugin
+ enablePreviewMicrobuild: false
# Determines whether the ESRP service connection information should be passed to the signing plugin.
# This overlaps with _SignType to some degree. We only need the service connection for real signing.
# It's important that the service connection not be passed to the MicroBuildSigningPlugin task in this place.
@@ -14,6 +16,8 @@ parameters:
# Location of the MicroBuild output folder
# NOTE: There's something that relies on this being in the "default" source directory for tasks such as Signing to work properly.
microBuildOutputFolder: '$(Build.SourcesDirectory)'
+ # Microbuild version
+ microbuildPluginVersion: 'latest'
continueOnError: false
@@ -51,41 +55,45 @@ steps:
# YAML expansion, and Windows vs. Linux/Mac uses different service connections. However,
# we can avoid including the MB install step if not enabled at all. This avoids a bunch of
# extra pipeline authorizations, since most pipelines do not sign on non-Windows.
- - task: MicroBuildSigningPlugin@4
- displayName: Install MicroBuild plugin (Windows)
- inputs:
- signType: $(_SignType)
- zipSources: false
- feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
- ${{ if eq(parameters.microbuildUseESRP, true) }}:
- ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)'
- ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
- ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
- ${{ else }}:
- ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
- env:
- TeamName: $(_TeamName)
- MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
- SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- continueOnError: ${{ parameters.continueOnError }}
- condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test'))
-
- - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}:
- - task: MicroBuildSigningPlugin@4
- displayName: Install MicroBuild plugin (non-Windows)
- inputs:
+ - template: /eng/common/core-templates/steps/install-microbuild-impl.yml@self
+ parameters:
+ enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
+ microbuildTaskInputs:
signType: $(_SignType)
zipSources: false
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
+ version: ${{ parameters.microbuildPluginVersion }}
${{ if eq(parameters.microbuildUseESRP, true) }}:
ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)'
${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
- ConnectedPMEServiceName: beb8cb23-b303-4c95-ab26-9e44bc958d39
+ ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
${{ else }}:
- ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc
- env:
+ ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
+ microbuildEnv:
TeamName: $(_TeamName)
MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
continueOnError: ${{ parameters.continueOnError }}
- condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real'))
+ condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'), in(variables['_SignType'], 'real', 'test'))
+
+ - ${{ if eq(parameters.enableMicrobuildForMacAndLinux, true) }}:
+ - template: /eng/common/core-templates/steps/install-microbuild-impl.yml@self
+ parameters:
+ enablePreviewMicrobuild: ${{ parameters.enablePreviewMicrobuild }}
+ microbuildTaskInputs:
+ signType: $(_SignType)
+ zipSources: false
+ feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
+ version: ${{ parameters.microbuildPluginVersion }}
+ ${{ if eq(parameters.microbuildUseESRP, true) }}:
+ ConnectedServiceName: 'MicroBuild Signing Task (DevDiv)'
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ ConnectedPMEServiceName: beb8cb23-b303-4c95-ab26-9e44bc958d39
+ ${{ else }}:
+ ConnectedPMEServiceName: c24de2a5-cc7a-493d-95e4-8e5ff5cad2bc
+ microbuildEnv:
+ TeamName: $(_TeamName)
+ MicroBuildOutputFolderOverride: ${{ parameters.microBuildOutputFolder }}
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken)
+ continueOnError: ${{ parameters.continueOnError }}
+ condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'), eq(variables['_SignType'], 'real'))
diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml
index 10f825e270a0..0664c343b2af 100644
--- a/eng/common/core-templates/steps/publish-logs.yml
+++ b/eng/common/core-templates/steps/publish-logs.yml
@@ -28,6 +28,8 @@ steps:
arguments: -InputPath '$(System.DefaultWorkingDirectory)/PostBuildLogs'
-BinlogToolVersion ${{parameters.BinlogToolVersion}}
-TokensFilePath '$(System.DefaultWorkingDirectory)/eng/BinlogSecretsRedactionFile.txt'
+ -runtimeSourceFeed https://ci.dot.net/internal
+ -runtimeSourceFeedKey $(dotnetbuilds-internal-container-read-token-base64)
'$(publishing-dnceng-devdiv-code-r-build-re)'
'$(MaestroAccessToken)'
'$(dn-bot-all-orgs-artifact-feeds-rw)'
diff --git a/eng/common/core-templates/steps/source-index-stage1-publish.yml b/eng/common/core-templates/steps/source-index-stage1-publish.yml
index e9a694afa58e..eff4573c6e5f 100644
--- a/eng/common/core-templates/steps/source-index-stage1-publish.yml
+++ b/eng/common/core-templates/steps/source-index-stage1-publish.yml
@@ -1,6 +1,6 @@
parameters:
- sourceIndexUploadPackageVersion: 2.0.0-20250818.1
- sourceIndexProcessBinlogPackageVersion: 1.0.1-20250818.1
+ sourceIndexUploadPackageVersion: 2.0.0-20250906.1
+ sourceIndexProcessBinlogPackageVersion: 1.0.1-20250906.1
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
binlogPath: artifacts/log/Debug/Build.binlog
diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh
index e889f439b8dc..9f5ad6b763b5 100755
--- a/eng/common/darc-init.sh
+++ b/eng/common/darc-init.sh
@@ -5,7 +5,7 @@ darcVersion=''
versionEndpoint='https://maestro.dot.net/api/assets/darc-version?api-version=2020-02-20'
verbosity='minimal'
-while [[ $# > 0 ]]; do
+while [[ $# -gt 0 ]]; do
opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
case "$opt" in
--darcversion)
diff --git a/eng/common/dotnet-install.sh b/eng/common/dotnet-install.sh
index 7b9d97e3bd4d..61f302bb6775 100755
--- a/eng/common/dotnet-install.sh
+++ b/eng/common/dotnet-install.sh
@@ -18,7 +18,7 @@ architecture=''
runtime='dotnet'
runtimeSourceFeed=''
runtimeSourceFeedKey=''
-while [[ $# > 0 ]]; do
+while [[ $# -gt 0 ]]; do
opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
case "$opt" in
-version|-v)
diff --git a/eng/common/dotnet.sh b/eng/common/dotnet.sh
index 2ef68235675f..f6d24871c1d4 100755
--- a/eng/common/dotnet.sh
+++ b/eng/common/dotnet.sh
@@ -19,7 +19,7 @@ source $scriptroot/tools.sh
InitializeDotNetCli true # install
# Invoke acquired SDK with args if they are provided
-if [[ $# > 0 ]]; then
+if [[ $# -gt 0 ]]; then
__dotnetDir=${_InitializeDotNetCli}
dotnetPath=${__dotnetDir}/dotnet
${dotnetPath} "$@"
diff --git a/eng/common/internal-feed-operations.sh b/eng/common/internal-feed-operations.sh
index 9378223ba095..6299e7effd4c 100755
--- a/eng/common/internal-feed-operations.sh
+++ b/eng/common/internal-feed-operations.sh
@@ -100,7 +100,7 @@ operation=''
authToken=''
repoName=''
-while [[ $# > 0 ]]; do
+while [[ $# -gt 0 ]]; do
opt="$(echo "$1" | tr "[:upper:]" "[:lower:]")"
case "$opt" in
--operation)
diff --git a/eng/common/native/install-dependencies.sh b/eng/common/native/install-dependencies.sh
index 477a44f335be..f7bd4af0c8db 100755
--- a/eng/common/native/install-dependencies.sh
+++ b/eng/common/native/install-dependencies.sh
@@ -30,6 +30,8 @@ case "$os" in
elif [ "$ID" = "fedora" ] || [ "$ID" = "rhel" ] || [ "$ID" = "azurelinux" ]; then
pkg_mgr="$(command -v tdnf 2>/dev/null || command -v dnf)"
$pkg_mgr install -y cmake llvm lld lldb clang python curl libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio
+ elif [ "$ID" = "amzn" ]; then
+ dnf install -y cmake llvm lld lldb clang python libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio
elif [ "$ID" = "alpine" ]; then
apk add build-base cmake bash curl clang llvm-dev lld lldb krb5-dev lttng-ust-dev icu-dev openssl-dev pigz cpio
else
diff --git a/eng/common/post-build/publish-using-darc.ps1 b/eng/common/post-build/publish-using-darc.ps1
index 1eda208a3bbf..48e55598bdd2 100644
--- a/eng/common/post-build/publish-using-darc.ps1
+++ b/eng/common/post-build/publish-using-darc.ps1
@@ -7,7 +7,9 @@ param(
[Parameter(Mandatory=$false)][string] $ArtifactsPublishingAdditionalParameters,
[Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters,
[Parameter(Mandatory=$false)][string] $RequireDefaultChannels,
- [Parameter(Mandatory=$false)][string] $SkipAssetsPublishing
+ [Parameter(Mandatory=$false)][string] $SkipAssetsPublishing,
+ [Parameter(Mandatory=$false)][string] $runtimeSourceFeed,
+ [Parameter(Mandatory=$false)][string] $runtimeSourceFeedKey
)
try {
diff --git a/eng/common/post-build/redact-logs.ps1 b/eng/common/post-build/redact-logs.ps1
index b7fc19591507..fc0218a013d1 100644
--- a/eng/common/post-build/redact-logs.ps1
+++ b/eng/common/post-build/redact-logs.ps1
@@ -7,7 +7,9 @@ param(
# File with strings to redact - separated by newlines.
# For comments start the line with '# ' - such lines are ignored
[Parameter(Mandatory=$false)][string] $TokensFilePath,
- [Parameter(ValueFromRemainingArguments=$true)][String[]]$TokensToRedact
+ [Parameter(ValueFromRemainingArguments=$true)][String[]]$TokensToRedact,
+ [Parameter(Mandatory=$false)][string] $runtimeSourceFeed,
+ [Parameter(Mandatory=$false)][string] $runtimeSourceFeedKey
)
try {
diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1
index b62e132d32a4..9ae443f1c36b 100644
--- a/eng/common/sdk-task.ps1
+++ b/eng/common/sdk-task.ps1
@@ -9,6 +9,8 @@ Param(
[switch][Alias('nobl')]$excludeCIBinaryLog,
[switch]$noWarnAsError,
[switch] $help,
+ [string] $runtimeSourceFeed = '',
+ [string] $runtimeSourceFeedKey = '',
[Parameter(ValueFromRemainingArguments=$true)][String[]]$properties
)
@@ -68,7 +70,7 @@ try {
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
}
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
- $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.13.0" -MemberType NoteProperty
+ $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.14.16" -MemberType NoteProperty
}
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 06b44de78709..4bc50bd568ca 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -394,8 +394,8 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# If the version of msbuild is going to be xcopied,
# use this version. Version matches a package here:
- # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.13.0
- $defaultXCopyMSBuildVersion = '17.13.0'
+ # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/Microsoft.DotNet.Arcade.MSBuild.Xcopy/versions/17.14.16
+ $defaultXCopyMSBuildVersion = '17.14.16'
if (!$vsRequirements) {
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
diff --git a/eng/scripts/CodeCheck.ps1 b/eng/scripts/CodeCheck.ps1
index 90e04810f19f..926fd83fe4fb 100644
--- a/eng/scripts/CodeCheck.ps1
+++ b/eng/scripts/CodeCheck.ps1
@@ -149,11 +149,6 @@ try {
& $PSScriptRoot\GenerateProjectList.ps1 -ci:$ci
}
- Write-Host " Re-generating package baselines"
- Invoke-Block {
- & dotnet run --project "$repoRoot/eng/tools/BaselineGenerator/"
- }
-
Write-Host "Running git diff to check for pending changes"
# Redirect stderr to stdout because PowerShell does not consistently handle output to stderr
diff --git a/eng/scripts/install-nginx-mac.sh b/eng/scripts/install-nginx-mac.sh
deleted file mode 100755
index e7df86f57c0a..000000000000
--- a/eng/scripts/install-nginx-mac.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-
-brew update
-brew list openssl || brew install openssl
-brew list nginx || brew install nginx
diff --git a/eng/scripts/install-nginx-linux.sh b/eng/scripts/install-nginx.sh
similarity index 75%
rename from eng/scripts/install-nginx-linux.sh
rename to eng/scripts/install-nginx.sh
index f075a899d1cf..23d71043ed19 100755
--- a/eng/scripts/install-nginx-linux.sh
+++ b/eng/scripts/install-nginx.sh
@@ -6,7 +6,7 @@ scriptroot="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
reporoot="$(dirname "$(dirname "$scriptroot")")"
nginxinstall="$reporoot/.tools/nginx"
-curl -sSL http://nginx.org/download/nginx-1.26.3.tar.gz --retry 5 | tar zxfv - -C /tmp && cd /tmp/nginx-1.26.3/
+curl -sSL http://nginx.org/download/nginx-1.29.1.tar.gz --retry 5 | tar zxfv - -C /tmp && cd /tmp/nginx-1.29.1/
./configure --prefix=$nginxinstall --with-http_ssl_module --without-http_rewrite_module
make
make install
diff --git a/eng/targets/Helix.Common.props b/eng/targets/Helix.Common.props
index febe906600ce..c99dbcc4fee2 100644
--- a/eng/targets/Helix.Common.props
+++ b/eng/targets/Helix.Common.props
@@ -29,7 +29,7 @@
-
+
diff --git a/eng/targets/Helix.targets b/eng/targets/Helix.targets
index d58bc8feedde..eef1c0f22b10 100644
--- a/eng/targets/Helix.targets
+++ b/eng/targets/Helix.targets
@@ -21,7 +21,7 @@
$(HelixQueueAzureLinux);
$(HelixQueueDebian);
$(HelixQueueFedora40);
- Ubuntu.2004.Amd64.Open;
+ Ubuntu.2204.Amd64.Open;
true
diff --git a/eng/targets/Packaging.targets b/eng/targets/Packaging.targets
index cbf2aece03f5..b9425e6ca60c 100644
--- a/eng/targets/Packaging.targets
+++ b/eng/targets/Packaging.targets
@@ -1,16 +1,5 @@
-
-
-
-
diff --git a/eng/targets/ResolveReferences.targets b/eng/targets/ResolveReferences.targets
index 6dd4f551a26e..1da321f435ff 100644
--- a/eng/targets/ResolveReferences.targets
+++ b/eng/targets/ResolveReferences.targets
@@ -10,8 +10,6 @@
Items used by the resolution strategy:
- * BaselinePackageReference = a list of packages that were referenced in the last release of the project currently building
- - mainly used to ensure references do not change in servicing builds unless $(UseLatestPackageReferences) is not true.
* LatestPackageReference = a list of the latest versions of packages
* Reference = a list of the references which are needed for compilation or runtime
* ProjectReferenceProvider = a list which maps of assembly names to the project file that produces it
@@ -46,7 +44,7 @@
Condition=" '$(UseLatestPackageReferences)' == '' AND '$(IsPackageInThisPatch)' == 'true' ">true
false
-
+
true
@@ -142,18 +140,6 @@
ContentFiles;Build
All
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
<_LatestPackageReferenceWithVersion Remove="@(_LatestPackageReferenceWithVersion)" />
- <_BaselinePackageReferenceWithVersion Remove="@(_BaselinePackageReferenceWithVersion)" />
<_PrivatePackageReferenceWithVersion Remove="@(_PrivatePackageReferenceWithVersion)" />
<_ImplicitPackageReference Remove="@(_ImplicitPackageReference)" />
@@ -207,15 +180,10 @@
<_ExplicitPackageReference Remove="@(_ExplicitPackageReference)" />
-
-
+ Text="Could not resolve this reference. Could not locate the package or project for "%(Reference.Identity)". Did you update dependencies lists? See docs/ReferenceResolution.md for more details." />
-
-
-
-
-
diff --git a/src/Components/Components/src/PersistentStateAttribute.cs b/src/Components/Components/src/PersistentStateAttribute.cs
index cd8de101bda9..fc0f7f22d62f 100644
--- a/src/Components/Components/src/PersistentStateAttribute.cs
+++ b/src/Components/Components/src/PersistentStateAttribute.cs
@@ -15,9 +15,9 @@ public sealed class PersistentStateAttribute : CascadingParameterAttributeBase
///
///
/// By default it always restores the value on all situations.
- /// Use to skip restoring the initial value
+ /// Use to skip restoring the initial value
/// when the host starts up.
- /// Use to skip restoring the last value captured
+ /// Use to skip restoring the last value captured
/// the last time the current host was shut down.
///
public RestoreBehavior RestoreBehavior { get; set; } = RestoreBehavior.Default;
diff --git a/src/Components/Components/src/PublicAPI.Shipped.txt b/src/Components/Components/src/PublicAPI.Shipped.txt
index c417cab5be3a..5277e771faf7 100644
--- a/src/Components/Components/src/PublicAPI.Shipped.txt
+++ b/src/Components/Components/src/PublicAPI.Shipped.txt
@@ -22,6 +22,8 @@ abstract Microsoft.AspNetCore.Components.Dispatcher.InvokeAsync(System.Func(System.Func!>! workItem) -> System.Threading.Tasks.Task!
abstract Microsoft.AspNetCore.Components.Dispatcher.InvokeAsync(System.Func! workItem) -> System.Threading.Tasks.Task!
abstract Microsoft.AspNetCore.Components.ErrorBoundaryBase.OnErrorAsync(System.Exception! exception) -> System.Threading.Tasks.Task!
+abstract Microsoft.AspNetCore.Components.PersistentComponentStateSerializer.Persist(T value, System.Buffers.IBufferWriter! writer) -> void
+abstract Microsoft.AspNetCore.Components.PersistentComponentStateSerializer.Restore(System.Buffers.ReadOnlySequence data) -> T
abstract Microsoft.AspNetCore.Components.RenderModeAttribute.Mode.get -> Microsoft.AspNetCore.Components.IComponentRenderMode!
abstract Microsoft.AspNetCore.Components.RenderTree.Renderer.Dispatcher.get -> Microsoft.AspNetCore.Components.Dispatcher!
abstract Microsoft.AspNetCore.Components.RenderTree.Renderer.HandleException(System.Exception! exception) -> void
@@ -98,8 +100,8 @@ Microsoft.AspNetCore.Components.EditorRequiredAttribute.EditorRequiredAttribute(
Microsoft.AspNetCore.Components.ElementReference
Microsoft.AspNetCore.Components.ElementReference.Context.get -> Microsoft.AspNetCore.Components.ElementReferenceContext?
Microsoft.AspNetCore.Components.ElementReference.ElementReference() -> void
-Microsoft.AspNetCore.Components.ElementReference.ElementReference(string! id) -> void
Microsoft.AspNetCore.Components.ElementReference.ElementReference(string! id, Microsoft.AspNetCore.Components.ElementReferenceContext? context) -> void
+Microsoft.AspNetCore.Components.ElementReference.ElementReference(string! id) -> void
Microsoft.AspNetCore.Components.ElementReference.Id.get -> string!
Microsoft.AspNetCore.Components.ElementReferenceContext
Microsoft.AspNetCore.Components.ElementReferenceContext.ElementReferenceContext() -> void
@@ -151,8 +153,8 @@ Microsoft.AspNetCore.Components.EventHandlerAttribute.AttributeName.get -> strin
Microsoft.AspNetCore.Components.EventHandlerAttribute.EnablePreventDefault.get -> bool
Microsoft.AspNetCore.Components.EventHandlerAttribute.EnableStopPropagation.get -> bool
Microsoft.AspNetCore.Components.EventHandlerAttribute.EventArgsType.get -> System.Type!
-Microsoft.AspNetCore.Components.EventHandlerAttribute.EventHandlerAttribute(string! attributeName, System.Type! eventArgsType) -> void
Microsoft.AspNetCore.Components.EventHandlerAttribute.EventHandlerAttribute(string! attributeName, System.Type! eventArgsType, bool enableStopPropagation, bool enablePreventDefault) -> void
+Microsoft.AspNetCore.Components.EventHandlerAttribute.EventHandlerAttribute(string! attributeName, System.Type! eventArgsType) -> void
Microsoft.AspNetCore.Components.ExcludeFromInteractiveRoutingAttribute
Microsoft.AspNetCore.Components.ExcludeFromInteractiveRoutingAttribute.ExcludeFromInteractiveRoutingAttribute() -> void
Microsoft.AspNetCore.Components.IComponent
@@ -165,11 +167,17 @@ Microsoft.AspNetCore.Components.IHandleAfterRender
Microsoft.AspNetCore.Components.IHandleAfterRender.OnAfterRenderAsync() -> System.Threading.Tasks.Task!
Microsoft.AspNetCore.Components.IHandleEvent
Microsoft.AspNetCore.Components.IHandleEvent.HandleEventAsync(Microsoft.AspNetCore.Components.EventCallbackWorkItem item, object? arg) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.Infrastructure.ComponentsMetricsServiceCollectionExtensions
Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager
+Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager.ComponentStatePersistenceManager(Microsoft.Extensions.Logging.ILogger! logger, System.IServiceProvider! serviceProvider) -> void
Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager.ComponentStatePersistenceManager(Microsoft.Extensions.Logging.ILogger! logger) -> void
Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager.PersistStateAsync(Microsoft.AspNetCore.Components.IPersistentComponentStateStore! store, Microsoft.AspNetCore.Components.RenderTree.Renderer! renderer) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager.RestoreStateAsync(Microsoft.AspNetCore.Components.IPersistentComponentStateStore! store, Microsoft.AspNetCore.Components.RestoreContext! context) -> System.Threading.Tasks.Task!
Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager.RestoreStateAsync(Microsoft.AspNetCore.Components.IPersistentComponentStateStore! store) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager.SetPlatformRenderMode(Microsoft.AspNetCore.Components.IComponentRenderMode! renderMode) -> void
Microsoft.AspNetCore.Components.Infrastructure.ComponentStatePersistenceManager.State.get -> Microsoft.AspNetCore.Components.PersistentComponentState!
+Microsoft.AspNetCore.Components.Infrastructure.PersistentStateProviderServiceCollectionExtensions
+Microsoft.AspNetCore.Components.Infrastructure.RegisterPersistentComponentStateServiceCollectionExtensions
Microsoft.AspNetCore.Components.InjectAttribute
Microsoft.AspNetCore.Components.InjectAttribute.InjectAttribute() -> void
Microsoft.AspNetCore.Components.InjectAttribute.Key.get -> object?
@@ -213,8 +221,10 @@ Microsoft.AspNetCore.Components.NavigationManager.NavigateTo(string! uri, bool f
Microsoft.AspNetCore.Components.NavigationManager.NavigateTo(string! uri, bool forceLoad) -> void
Microsoft.AspNetCore.Components.NavigationManager.NavigateTo(string! uri, Microsoft.AspNetCore.Components.NavigationOptions options) -> void
Microsoft.AspNetCore.Components.NavigationManager.NavigationManager() -> void
+Microsoft.AspNetCore.Components.NavigationManager.NotFound() -> void
Microsoft.AspNetCore.Components.NavigationManager.NotifyLocationChanged(bool isInterceptedLink) -> void
Microsoft.AspNetCore.Components.NavigationManager.NotifyLocationChangingAsync(string! uri, string? state, bool isNavigationIntercepted) -> System.Threading.Tasks.ValueTask
+Microsoft.AspNetCore.Components.NavigationManager.OnNotFound -> System.EventHandler!
Microsoft.AspNetCore.Components.NavigationManager.RegisterLocationChangingHandler(System.Func! locationChangingHandler) -> System.IDisposable!
Microsoft.AspNetCore.Components.NavigationManager.ToAbsoluteUri(string? relativeUri) -> System.Uri!
Microsoft.AspNetCore.Components.NavigationManager.ToBaseRelativePath(string! uri) -> string!
@@ -251,17 +261,26 @@ Microsoft.AspNetCore.Components.ParameterView.Enumerator.Current.get -> Microsof
Microsoft.AspNetCore.Components.ParameterView.Enumerator.Enumerator() -> void
Microsoft.AspNetCore.Components.ParameterView.Enumerator.MoveNext() -> bool
Microsoft.AspNetCore.Components.ParameterView.GetEnumerator() -> Microsoft.AspNetCore.Components.ParameterView.Enumerator
-Microsoft.AspNetCore.Components.ParameterView.GetValueOrDefault(string! parameterName) -> TValue?
Microsoft.AspNetCore.Components.ParameterView.GetValueOrDefault(string! parameterName, TValue defaultValue) -> TValue
+Microsoft.AspNetCore.Components.ParameterView.GetValueOrDefault(string! parameterName) -> TValue?
Microsoft.AspNetCore.Components.ParameterView.ParameterView() -> void
Microsoft.AspNetCore.Components.ParameterView.SetParameterProperties(object! target) -> void
Microsoft.AspNetCore.Components.ParameterView.ToDictionary() -> System.Collections.Generic.IReadOnlyDictionary!
Microsoft.AspNetCore.Components.ParameterView.TryGetValue(string! parameterName, out TValue result) -> bool
Microsoft.AspNetCore.Components.PersistentComponentState
Microsoft.AspNetCore.Components.PersistentComponentState.PersistAsJson(string! key, TValue instance) -> void
-Microsoft.AspNetCore.Components.PersistentComponentState.RegisterOnPersisting(System.Func! callback) -> Microsoft.AspNetCore.Components.PersistingComponentStateSubscription
Microsoft.AspNetCore.Components.PersistentComponentState.RegisterOnPersisting(System.Func! callback, Microsoft.AspNetCore.Components.IComponentRenderMode? renderMode) -> Microsoft.AspNetCore.Components.PersistingComponentStateSubscription
+Microsoft.AspNetCore.Components.PersistentComponentState.RegisterOnPersisting(System.Func! callback) -> Microsoft.AspNetCore.Components.PersistingComponentStateSubscription
+Microsoft.AspNetCore.Components.PersistentComponentState.RegisterOnRestoring(System.Action! callback, Microsoft.AspNetCore.Components.RestoreOptions options) -> Microsoft.AspNetCore.Components.RestoringComponentStateSubscription
Microsoft.AspNetCore.Components.PersistentComponentState.TryTakeFromJson(string! key, out TValue? instance) -> bool
+Microsoft.AspNetCore.Components.PersistentComponentStateSerializer
+Microsoft.AspNetCore.Components.PersistentComponentStateSerializer.PersistentComponentStateSerializer() -> void
+Microsoft.AspNetCore.Components.PersistentStateAttribute
+Microsoft.AspNetCore.Components.PersistentStateAttribute.AllowUpdates.get -> bool
+Microsoft.AspNetCore.Components.PersistentStateAttribute.AllowUpdates.set -> void
+Microsoft.AspNetCore.Components.PersistentStateAttribute.PersistentStateAttribute() -> void
+Microsoft.AspNetCore.Components.PersistentStateAttribute.RestoreBehavior.get -> Microsoft.AspNetCore.Components.RestoreBehavior
+Microsoft.AspNetCore.Components.PersistentStateAttribute.RestoreBehavior.set -> void
Microsoft.AspNetCore.Components.PersistingComponentStateSubscription
Microsoft.AspNetCore.Components.PersistingComponentStateSubscription.Dispose() -> void
Microsoft.AspNetCore.Components.PersistingComponentStateSubscription.PersistingComponentStateSubscription() -> void
@@ -287,14 +306,15 @@ Microsoft.AspNetCore.Components.Rendering.ComponentState.ComponentId.get -> int
Microsoft.AspNetCore.Components.Rendering.ComponentState.ComponentState(Microsoft.AspNetCore.Components.RenderTree.Renderer! renderer, int componentId, Microsoft.AspNetCore.Components.IComponent! component, Microsoft.AspNetCore.Components.Rendering.ComponentState? parentComponentState) -> void
Microsoft.AspNetCore.Components.Rendering.ComponentState.LogicalParentComponentState.get -> Microsoft.AspNetCore.Components.Rendering.ComponentState?
Microsoft.AspNetCore.Components.Rendering.ComponentState.ParentComponentState.get -> Microsoft.AspNetCore.Components.Rendering.ComponentState?
+Microsoft.AspNetCore.Components.Rendering.ComponentState.Renderer.get -> Microsoft.AspNetCore.Components.RenderTree.Renderer!
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddAttribute(int sequence, Microsoft.AspNetCore.Components.RenderTree.RenderTreeFrame frame) -> void
-Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddAttribute(int sequence, string! name) -> void
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddAttribute(int sequence, string! name, bool value) -> void
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddAttribute(int sequence, string! name, Microsoft.AspNetCore.Components.EventCallback value) -> void
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddAttribute(int sequence, string! name, object? value) -> void
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddAttribute(int sequence, string! name, string? value) -> void
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddAttribute(int sequence, string! name, System.MulticastDelegate? value) -> void
+Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddAttribute(int sequence, string! name) -> void
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddAttribute(int sequence, string! name, Microsoft.AspNetCore.Components.EventCallback value) -> void
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddComponentParameter(int sequence, string! name, object? value) -> void
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddComponentReferenceCapture(int sequence, System.Action