Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/actions/enumerate-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ runs:
with:
dotnet-version: |
9.x
10.x

- name: Get list of integration tests
if: ${{ inputs.includeIntegrations }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ jobs:
dotnet-version: |
8.x
9.x
10.x

- name: Trust HTTPS development certificate (Linux)
if: inputs.os == 'ubuntu-latest'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/update-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Setup .NET 9
- name: Setup .NET 10
uses: actions/setup-dotnet@b2ace4b12f4cec1b96b6361ff2694ba9e931ceb4 # v3.3.1
with:
dotnet-version: "9.0.x"
dotnet-version: "10.0.x"

- name: Restore solution
run: ./build.sh -restore
Expand Down
4 changes: 4 additions & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json" />
<add key="dotnet10" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10/nuget/v3/index.json" />
<add key="dotnet-libraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
<add key="dotnet9-transport" value="https://dnceng.pkgs.visualstudio.com/public/_packaging/dotnet9-transport/nuget/v3/index.json" />
</packageSources>
Expand All @@ -31,6 +32,9 @@
<packageSource key="dotnet9">
<package pattern="*" />
</packageSource>
<packageSource key="dotnet10">
<package pattern="*" />
</packageSource>
<packageSource key="dotnet-libraries">
<package pattern="Microsoft.DeveloperControlPlane*" />
<package pattern="System.CommandLine" />
Expand Down
5 changes: 5 additions & 0 deletions eng/Signing.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<ItemGroup>
<FileExtensionSignInfo Update=".nupkg" CertificateName="NuGet" />
<FileExtensionSignInfo Update=".zip" CertificateName="None" />
<FileExtensionSignInfo Update=".js" CertificateName="MicrosoftDotNet500" />

<!-- add missing entry for .msi, this can be removed once aspire uses arcade 10.0 -->
<FileExtensionSignInfo Include=".msi" CertificateName="MicrosoftDotNet500" Condition="!@(FileExtensionSignInfo->AnyHaveMetadataValue('Identity', '.msi'))" />
Expand Down Expand Up @@ -34,6 +35,10 @@
<FileSignInfo Include="Semver.dll" CertificateName="3PartySHA2" />
</ItemGroup>

<PropertyGroup>
<NoSignJS>true</NoSignJS>
</PropertyGroup>

<ItemGroup>
<ItemsToSign Include="$(VisualStudioSetupInsertionPath)\**\*.msi" Condition="'$(PostBuildSign)' != 'true'" />
<ItemsToSign Include="$(ArtifactsPackagesDir)**\*.wixpack.zip" Condition="'$(PostBuildSign)' != 'true'" />
Expand Down
28 changes: 14 additions & 14 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -153,33 +153,33 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.25325.4">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25325.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
<Sha>f70d32d77df8544117bd659512a9087619c1de6e</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="9.0.0-beta.25325.4">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Archives" Version="10.0.0-beta.25325.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
<Sha>f70d32d77df8544117bd659512a9087619c1de6e</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.25325.4">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="10.0.0-beta.25325.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
<Sha>f70d32d77df8544117bd659512a9087619c1de6e</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="9.0.0-beta.25325.4">
<Dependency Name="Microsoft.DotNet.SharedFramework.Sdk" Version="10.0.0-beta.25325.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
<Sha>f70d32d77df8544117bd659512a9087619c1de6e</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="9.0.0-beta.25325.4">
<Dependency Name="Microsoft.DotNet.RemoteExecutor" Version="10.0.0-beta.25325.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
<Sha>f70d32d77df8544117bd659512a9087619c1de6e</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XUnitV3Extensions" Version="10.0.0-beta.25178.1">
<Dependency Name="Microsoft.DotNet.XUnitV3Extensions" Version="10.0.0-beta.25325.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>4bb78555b1275bc6cb21f6d61f7de60b0605edc3</Sha>
<Sha>f70d32d77df8544117bd659512a9087619c1de6e</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.25325.4">
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="10.0.0-beta.25325.3">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>13b20849f8294593bf150a801cab639397e6c29d</Sha>
<Sha>f70d32d77df8544117bd659512a9087619c1de6e</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.25325.4">
Expand Down
10 changes: 5 additions & 5 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
<DefaultTargetFramework>net8.0</DefaultTargetFramework>
<AllTargetFrameworks>$(DefaultTargetFramework);net9.0</AllTargetFrameworks>
<!-- dotnet versions for running tests -->
<DotNetRuntimePreviousVersionForTesting>8.0.13</DotNetRuntimePreviousVersionForTesting>
<DotNetRuntimePreviousVersionForTesting>8.0.17</DotNetRuntimePreviousVersionForTesting>
<DotNetRuntimeCurrentVersionForTesting>9.0.6</DotNetRuntimeCurrentVersionForTesting>
<!-- dotnet 8.0 versions for running tests - used for templates tests -->
<DotNetSdkPreviousVersionForTesting>8.0.406</DotNetSdkPreviousVersionForTesting>
<!-- dotnet 10.0 versions for running tests - used for templates tests -->
<DotNetSdkNextVersionForTesting>10.0.100-preview.5.25277.114</DotNetSdkNextVersionForTesting>
<DotNetSdkCurrentVersionForTesting>9.0.200</DotNetSdkCurrentVersionForTesting>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this not the current version? Should we rename the property instead?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These names are arbitrary really. We are following Previous, Current, Next to follow 3 active versions. 9.0 being Current works here allowing Previous=8.0 and Current=10.0.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use the same nomenclature as dotnet/runtime:
$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum)

Current = 10
Previous = 9
Minimum = 8

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But maybe that only makes sense if we are on 10 as well. So maybe having Next be 10 until we are version 10...

<XunitV3Version>3.0.0-pre.25</XunitV3Version>
<XUnitAnalyzersVersion>1.21.0</XUnitAnalyzersVersion>
<XunitRunnerVisualStudioVersion>3.1.0</XunitRunnerVisualStudioVersion>
Expand All @@ -37,9 +37,9 @@
<MicrosoftDeveloperControlPlanewindowsamd64Version>0.15.12</MicrosoftDeveloperControlPlanewindowsamd64Version>
<MicrosoftDeveloperControlPlanewindowsarm64Version>0.15.12</MicrosoftDeveloperControlPlanewindowsarm64Version>
<!-- Other -->
<MicrosoftDotNetRemoteExecutorVersion>9.0.0-beta.25325.4</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetXUnitV3ExtensionsVersion>10.0.0-beta.25178.1</MicrosoftDotNetXUnitV3ExtensionsVersion>
<MicrosoftDotNetBuildTasksArchivesVersion>9.0.0-beta.25325.4</MicrosoftDotNetBuildTasksArchivesVersion>
<MicrosoftDotNetRemoteExecutorVersion>10.0.0-beta.25325.3</MicrosoftDotNetRemoteExecutorVersion>
<MicrosoftDotNetXUnitV3ExtensionsVersion>10.0.0-beta.25325.3</MicrosoftDotNetXUnitV3ExtensionsVersion>
<MicrosoftDotNetBuildTasksArchivesVersion>10.0.0-beta.25325.3</MicrosoftDotNetBuildTasksArchivesVersion>
<!-- dotnet/extensions -->
<MicrosoftExtensionsAIVersion>9.5.0</MicrosoftExtensionsAIVersion>
<MicrosoftExtensionsAIPreviewVersion>9.5.0-preview.1.25265.7</MicrosoftExtensionsAIPreviewVersion>
Expand Down
8 changes: 8 additions & 0 deletions eng/clipack/Common.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@
<AdditionalProperties Include="PublishAot=false" />
<AdditionalProperties Include="PublishSingleFile=true" />
<AdditionalProperties Include="SelfContained=true" />

<!-- Windows pdb aren't really needed any more. See https://github.com/dotnet/arcade/issues/15724
As the pdb file is in the same location for all the RIDs it causes arcade's `_DeployPortableSymbolsToSymStore`
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't the right fix here to use different publish locations for different rids?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Publish directories are separate, and even the build dirs for the .dll but not for the .pdb! The .pdb files wouldn't be different per-rid so I think them being in the same location makes sense. We could fix this in arcade somehow, but apparently this whole thing (windows pdbs) is expected to be removed anyway. See dotnet/arcade#15724 and dotnet/arcade#15736 .

target to race.

`The process cannot access the file 'D:\a\_work\1\s\artifacts\SymStore\Release\Aspire.Cli\net8.0\aspire.pdb' because it is being used by another process`
-->
<AdditionalProperties Include="PublishWindowsPdb=false" />
</ItemGroup>

<!-- Remove OutputPath, and TargetFramework so the defaults can be used -->
Expand Down
2 changes: 1 addition & 1 deletion eng/common/CIBuild.cmd
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
@echo off
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*"
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*"
11 changes: 10 additions & 1 deletion eng/common/build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Param(
[string] $msbuildEngine = $null,
[bool] $warnAsError = $true,
[bool] $nodeReuse = $true,
[switch] $buildCheck = $false,
[switch][Alias('r')]$restore,
[switch] $deployDeps,
[switch][Alias('b')]$build,
Expand All @@ -20,6 +21,7 @@ Param(
[switch] $publish,
[switch] $clean,
[switch][Alias('pb')]$productBuild,
[switch]$fromVMR,
[switch][Alias('bl')]$binaryLog,
[switch][Alias('nobl')]$excludeCIBinarylog,
[switch] $ci,
Expand Down Expand Up @@ -71,6 +73,9 @@ function Print-Usage() {
Write-Host " -msbuildEngine <value> Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)."
Write-Host " -excludePrereleaseVS Set to exclude build engines in prerelease versions of Visual Studio"
Write-Host " -nativeToolsOnMachine Sets the native tools on machine environment variable (indicating that the script should use native tools on machine)"
Write-Host " -nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
Write-Host " -buildCheck Sets /check msbuild parameter"
Write-Host " -fromVMR Set when building from within the VMR"
Write-Host ""

Write-Host "Command line arguments not listed above are passed thru to msbuild."
Expand All @@ -97,6 +102,7 @@ function Build {

$bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'Build.binlog') } else { '' }
$platformArg = if ($platform) { "/p:Platform=$platform" } else { '' }
$check = if ($buildCheck) { '/check' } else { '' }

if ($projects) {
# Re-assign properties to a new variable because PowerShell doesn't let us append properties directly for unclear reasons.
Expand All @@ -113,6 +119,7 @@ function Build {
MSBuild $toolsetBuildProj `
$bl `
$platformArg `
$check `
/p:Configuration=$configuration `
/p:RepoRoot=$RepoRoot `
/p:Restore=$restore `
Expand All @@ -122,11 +129,13 @@ function Build {
/p:Deploy=$deploy `
/p:Test=$test `
/p:Pack=$pack `
/p:DotNetBuildRepo=$productBuild `
/p:DotNetBuild=$productBuild `
/p:DotNetBuildFromVMR=$fromVMR `
/p:IntegrationTest=$integrationTest `
/p:PerformanceTest=$performanceTest `
/p:Sign=$sign `
/p:Publish=$publish `
/p:RestoreStaticGraphEnableBinaryLogger=$binaryLog `
@properties
}

Expand Down
33 changes: 25 additions & 8 deletions eng/common/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ usage()
echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
echo " --nodeReuse <value> Sets nodereuse msbuild parameter ('true' or 'false')"
echo " --warnAsError <value> Sets warnaserror msbuild parameter ('true' or 'false')"
echo " --buildCheck <value> Sets /check msbuild parameter"
echo " --fromVMR Set when building from within the VMR"
echo ""
echo "Command line arguments not listed above are passed thru to msbuild."
echo "Arguments can also be passed in with a single hyphen."
Expand All @@ -63,6 +65,7 @@ restore=false
build=false
source_build=false
product_build=false
from_vmr=false
rebuild=false
test=false
integration_test=false
Expand All @@ -76,6 +79,7 @@ clean=false

warn_as_error=true
node_reuse=true
build_check=false
binary_log=false
exclude_ci_binary_log=false
pipelines_log=false
Expand All @@ -87,7 +91,7 @@ verbosity='minimal'
runtime_source_feed=''
runtime_source_feed_key=''

properties=''
properties=()
while [[ $# > 0 ]]; do
opt="$(echo "${1/#--/-}" | tr "[:upper:]" "[:lower:]")"
case "$opt" in
Expand Down Expand Up @@ -127,19 +131,22 @@ while [[ $# > 0 ]]; do
-pack)
pack=true
;;
-sourcebuild|-sb)
-sourcebuild|-source-build|-sb)
build=true
source_build=true
product_build=true
restore=true
pack=true
;;
-productBuild|-pb)
-productbuild|-product-build|-pb)
build=true
product_build=true
restore=true
pack=true
;;
-fromvmr|-from-vmr)
from_vmr=true
;;
-test|-t)
test=true
;;
Expand Down Expand Up @@ -173,6 +180,9 @@ while [[ $# > 0 ]]; do
node_reuse=$2
shift
;;
-buildcheck)
build_check=true
;;
-runtimesourcefeed)
runtime_source_feed=$2
shift
Expand All @@ -182,7 +192,7 @@ while [[ $# > 0 ]]; do
shift
;;
*)
properties="$properties $1"
properties+=("$1")
;;
esac

Expand Down Expand Up @@ -216,31 +226,38 @@ function Build {
InitializeCustomToolset

if [[ ! -z "$projects" ]]; then
properties="$properties /p:Projects=$projects"
properties+=("/p:Projects=$projects")
fi

local bl=""
if [[ "$binary_log" == true ]]; then
bl="/bl:\"$log_dir/Build.binlog\""
fi

local check=""
if [[ "$build_check" == true ]]; then
check="/check"
fi

MSBuild $_InitializeToolset \
$bl \
$check \
/p:Configuration=$configuration \
/p:RepoRoot="$repo_root" \
/p:Restore=$restore \
/p:Build=$build \
/p:DotNetBuildRepo=$product_build \
/p:ArcadeBuildFromSource=$source_build \
/p:DotNetBuild=$product_build \
/p:DotNetBuildSourceOnly=$source_build \
/p:DotNetBuildFromVMR=$from_vmr \
/p:Rebuild=$rebuild \
/p:Test=$test \
/p:Pack=$pack \
/p:IntegrationTest=$integration_test \
/p:PerformanceTest=$performance_test \
/p:Sign=$sign \
/p:Publish=$publish \
$properties
/p:RestoreStaticGraphEnableBinaryLogger=$binary_log \
${properties[@]+"${properties[@]}"}

ExitWithExitCode 0
}
Expand Down
2 changes: 1 addition & 1 deletion eng/common/cibuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ while [[ -h $source ]]; do
done
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"

. "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@
. "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@
Loading
Loading