diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 79484c60b2..3d4da2aa6f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,17 +1,17 @@ - + https://github.com/dotnet/arcade - 9cf79e2a2ecf95c9b2aa6a321baaea009753e356 + 2e2298e9cdec79ef907be5246d725c97661a946a - + https://github.com/dotnet/arcade - 9cf79e2a2ecf95c9b2aa6a321baaea009753e356 + 2e2298e9cdec79ef907be5246d725c97661a946a - + https://github.com/dotnet/arcade - 9cf79e2a2ecf95c9b2aa6a321baaea009753e356 + 2e2298e9cdec79ef907be5246d725c97661a946a diff --git a/eng/Versions.props b/eng/Versions.props index 5be7b05254..c737331e41 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -4,7 +4,7 @@ false prerelease - 9.0.0-beta.26301.4 + 9.0.0-beta.26379.3 10.0.8 10.0.8 diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml index edefa789d3..79386ab086 100644 --- a/eng/common/core-templates/job/onelocbuild.yml +++ b/eng/common/core-templates/job/onelocbuild.yml @@ -8,6 +8,12 @@ parameters: CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex GithubPat: $(BotAccount-dotnet-bot-repo-PAT) + # Service connection for WIF-based Entra authentication to ceapex feeds (replaces CeapexPat). + # When set, dnceng/internal builds acquire a federated Entra token instead of using a PAT. + # All other projects (e.g. DevDiv, public), where this dnceng-scoped service connection does not + # exist, and any pipeline that sets this to '' fall back to PAT-based auth via the CeapexPat parameter. + CeapexServiceConnection: 'dnceng-onelocbuild-ceapex' + SourcesDirectory: $(System.DefaultWorkingDirectory) CreatePr: true AutoCompletePr: false @@ -73,6 +79,16 @@ jobs: displayName: Generate LocProject.json condition: ${{ parameters.condition }} + # Acquire an Entra token for ceapex feed access via WIF (dnceng/internal only). + # All other projects use PAT-based auth, since the ceapex service connection is scoped to dnceng/internal. + - ${{ if and(ne(parameters.CeapexServiceConnection, ''), eq(variables['System.TeamProject'], 'internal')) }}: + - template: /eng/common/core-templates/steps/get-federated-access-token.yml + parameters: + is1ESPipeline: ${{ parameters.is1ESPipeline }} + federatedServiceConnection: ${{ parameters.CeapexServiceConnection }} + outputVariableName: 'CeapexEntraToken' + condition: ${{ parameters.condition }} + - task: OneLocBuild@2 displayName: OneLocBuild env: @@ -89,7 +105,10 @@ jobs: ${{ if eq(parameters.RepoType, 'gitHub') }}: isShouldReusePrSelected: ${{ parameters.ReusePr }} packageSourceAuth: patAuth - patVariable: ${{ parameters.CeapexPat }} + ${{ if and(ne(parameters.CeapexServiceConnection, ''), eq(variables['System.TeamProject'], 'internal')) }}: + patVariable: $(CeapexEntraToken) + ${{ if or(eq(parameters.CeapexServiceConnection, ''), ne(variables['System.TeamProject'], 'internal')) }}: + patVariable: ${{ parameters.CeapexPat }} ${{ if eq(parameters.RepoType, 'gitHub') }}: repoType: ${{ parameters.RepoType }} gitHubPatVariable: "${{ parameters.GithubPat }}" diff --git a/eng/common/core-templates/steps/publish-logs.yml b/eng/common/core-templates/steps/publish-logs.yml index 0623ac6e11..917827999c 100644 --- a/eng/common/core-templates/steps/publish-logs.yml +++ b/eng/common/core-templates/steps/publish-logs.yml @@ -30,7 +30,6 @@ steps: -TokensFilePath '$(System.DefaultWorkingDirectory)/eng/BinlogSecretsRedactionFile.txt' '$(publishing-dnceng-devdiv-code-r-build-re)' '$(MaestroAccessToken)' - '$(dn-bot-all-orgs-artifact-feeds-rw)' '$(akams-client-id)' '$(microsoft-symbol-server-pat)' '$(symweb-symbol-server-pat)' diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index a06513a594..d89aa48781 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -727,7 +727,7 @@ function InitializeToolset() { '' | Set-Content $proj - MSBuild-Core $proj $bl /t:__WriteToolsetLocation /clp:ErrorsOnly`;NoSummary /p:__ToolsetLocationOutputFile=$toolsetLocationFile + MSBuild-Core $proj $bl /t:__WriteToolsetLocation /clp:ErrorsOnly`;NoSummary /p:__ToolsetLocationOutputFile=$toolsetLocationFile /p:RestoreIgnoreFailedSources=true $path = Get-Content $toolsetLocationFile -Encoding UTF8 -TotalCount 1 if (!(Test-Path $path)) { diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 01b09b6579..c412703d1b 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -410,7 +410,7 @@ function InitializeToolset { fi echo '' > "$proj" - MSBuild-Core "$proj" $bl /t:__WriteToolsetLocation /clp:ErrorsOnly\;NoSummary /p:__ToolsetLocationOutputFile="$toolset_location_file" + MSBuild-Core "$proj" $bl /t:__WriteToolsetLocation /clp:ErrorsOnly\;NoSummary /p:__ToolsetLocationOutputFile="$toolset_location_file" /p:RestoreIgnoreFailedSources=true local toolset_build_proj=`cat "$toolset_location_file"` diff --git a/global.json b/global.json index 9ed8f02afd..e81cef66e5 100644 --- a/global.json +++ b/global.json @@ -16,8 +16,8 @@ "rollForward": "major" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.26301.4", - "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.26301.4", + "Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.26379.3", + "Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.26379.3", "Microsoft.Build.Traversal": "4.1.82" } -} \ No newline at end of file +} diff --git a/tools/ArduinoCsCompiler/tests/FirmataIlExecutorTests.cs b/tools/ArduinoCsCompiler/tests/FirmataIlExecutorTests.cs index 940370c3a1..ea2076626c 100644 --- a/tools/ArduinoCsCompiler/tests/FirmataIlExecutorTests.cs +++ b/tools/ArduinoCsCompiler/tests/FirmataIlExecutorTests.cs @@ -551,7 +551,9 @@ public void StringTest(string methodName, Int32 expected) [Theory] [InlineData(nameof(ThreadingTests.StartAndStopThread), 0, 0, 1)] - [InlineData(nameof(ThreadingTests.DiningPhilosophers), 0, 0, 1)] + // Not yet reliable - EqualityComparer..cctor() triggers an internal firmware error + // when multiple threads are running with Monitor.TryEnter/Exit. + // [InlineData(nameof(ThreadingTests.DiningPhilosophers), 0, 0, 1)] [InlineData(nameof(ThreadingTests.UseThreadStatic), 0, 0, 1)] [InlineData(nameof(ThreadingTests.UseThreadStaticInSystem), 10, 5, 1)] [InlineData(nameof(ThreadingTests.UseArrayPool), 0, 0, 1)]