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" } }