diff --git a/.gitignore b/.gitignore
index f2c5ddd60..1ff8949e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -417,3 +417,4 @@ FodyWeavers.xsd
*.msm
*.msp
.DS_Store
+.dotnet
diff --git a/Directory.Build.props b/Directory.Build.props
index 494c4d495..6c45a0797 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -19,6 +19,7 @@
false
false
+ true
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 666bc6aed..d685c40c0 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -3,4 +3,17 @@
+
+
+
+
+
+
diff --git a/NuGet.config b/NuGet.config
index f7f23714a..6f28308b9 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -5,6 +5,10 @@
+
+
+
+
diff --git a/eng/SignCheckExclusionsFile.txt b/eng/SignCheckExclusionsFile.txt
new file mode 100644
index 000000000..404744ac8
--- /dev/null
+++ b/eng/SignCheckExclusionsFile.txt
@@ -0,0 +1,3 @@
+;; Exclusions for SignCheck. Corresponds to info in Signing.props.
+;; Format: https://github.com/dotnet/arcade/blob/397316e195639450b6c76bfeb9823b40bee72d6d/src/SignCheck/Microsoft.SignCheck/Verification/Exclusion.cs#L23-L35
+*.js;; We do not sign JavaScript files.
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 4cd247282..1ee344165 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -12,26 +12,26 @@
- https://github.com/dotnet/runtime
- 0000000000000000000000000000000000000000
+ https://github.com/dotnet/dotnet
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
- https://github.com/dotnet/runtime
- 0000000000000000000000000000000000000000
+ https://github.com/dotnet/dotnet
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
- https://github.com/dotnet/runtime
- 0000000000000000000000000000000000000000
+ https://github.com/dotnet/dotnet
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
- https://github.com/dotnet/runtime
- 0000000000000000000000000000000000000000
+ https://github.com/dotnet/dotnet
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
-
- https://github.com/dotnet/arcade
- e365cfcb58176841c2fb80d1a40926f394776970
+
+ https://github.com/dotnet/dotnet
+ 73b3b5ac0e4a5658c7a0555b67d91a22ad39de4b
-
+
\ No newline at end of file
diff --git a/eng/pipelines/devflow-official.yml b/eng/pipelines/devflow-official.yml
index 4c733326c..0109a4625 100644
--- a/eng/pipelines/devflow-official.yml
+++ b/eng/pipelines/devflow-official.yml
@@ -20,6 +20,10 @@ variables:
- template: /eng/pipelines/common-variables.yml@self
- name: _BuildConfig
value: Release
+- name: _SignType
+ value: real
+- name: PostBuildSign
+ value: false
resources:
repositories:
@@ -33,8 +37,11 @@ extends:
parameters:
pool:
name: NetCore1ESPool-Internal
- image: windows.vs2022.amd64
+ image: windows.vs2026preview.scout.amd64
os: windows
+ # Required for publishing to external feeds like nuget.org
+ settings:
+ networkIsolationPolicy: Permissive
stages:
- stage: build
@@ -42,7 +49,8 @@ extends:
jobs:
- template: /eng/common/templates-official/jobs/jobs.yml@self
parameters:
- enablePublishUsingPipelines: ${{ parameters.publishPackages }}
+ enableMicrobuild: true
+ enablePublishBuildAssets: true
enablePublishBuildArtifacts: true
enablePublishTestResults: true
testResultsFormat: xunit
@@ -51,14 +59,13 @@ extends:
- job: Windows
pool:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals windows.vs2022.amd64
+ demands: ImageOverride -equals windows.vs2026preview.scout.amd64
strategy:
matrix:
Release:
_BuildConfig: Release
- _OfficialBuildArgs: /p:DotNetSignType=test
+ _OfficialBuildArgs: /p:DotNetSignType=$(_SignType)
/p:TeamName=$(_TeamName)
- /p:DotNetPublishUsingPipelines=${{ parameters.publishPackages }}
/p:OfficialBuildId=$(BUILD.BUILDNUMBER)
steps:
- task: UseDotNet@2
@@ -75,10 +82,44 @@ extends:
-projects $(Build.SourcesDirectory)\src\DevFlow\DevFlow.slnf
$(_OfficialBuildArgs)
displayName: Build and Test
+
+ - template: /eng/common/templates-official/post-build/post-build.yml@self
+ parameters:
+ enableSourceLinkValidation: false
+ enableSigningValidation: true
+ enableNugetValidation: true
+ # Publish to NuGet.org using 1ES.PublishNuget task
+ # Pattern from dotnet/aspire release-publish-nuget.yml:
+ # - useDotNetTask: false (required - DotNetCoreCLI@2 doesn't support encrypted API keys)
+ # - nuGetFeedType: external + publishFeedCredentials for NuGet.org
- ${{ if eq(parameters.publishPackages, true) }}:
- - template: /eng/common/templates-official/post-build/post-build.yml@self
- parameters:
- enableSourceLinkValidation: false
- enableSigningValidation: true
- enableNugetValidation: true
+ - stage: publish_nuget
+ displayName: 'Publish to NuGet.org'
+ dependsOn:
+ - Validate
+ - publish_using_darc
+ jobs:
+ - job: PublishNuGet
+ displayName: 'Push Packages to NuGet.org'
+ timeoutInMinutes: 30
+ pool:
+ name: NetCore1ESPool-Internal
+ image: windows.vs2022.amd64
+ os: windows
+ templateContext:
+ type: releaseJob
+ isProduction: true
+ inputs:
+ - input: pipelineArtifact
+ artifactName: PackageArtifacts
+ targetPath: '$(Pipeline.Workspace)/PackageArtifacts'
+ steps:
+ - task: 1ES.PublishNuget@1
+ displayName: 'Push Packages to NuGet.org'
+ inputs:
+ useDotNetTask: false
+ packagesToPush: '$(Pipeline.Workspace)/PackageArtifacts/*.nupkg'
+ packageParentPath: '$(Pipeline.Workspace)/PackageArtifacts'
+ nuGetFeedType: external
+ publishFeedCredentials: 'NuGet.org - dotnet/maui-labs' # TODO: Create this service connection in dnceng
diff --git a/global.json b/global.json
index 08c961319..6c85f7c3d 100644
--- a/global.json
+++ b/global.json
@@ -1,13 +1,13 @@
{
"sdk": {
- "version": "10.0.104",
+ "version": "10.0.105",
"rollForward": "latestMinor",
"allowPrerelease": false
},
"tools": {
- "dotnet": "10.0.104"
+ "dotnet": "10.0.105"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26164.1"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.26168.104"
}
}