diff --git a/.github/workflows/pr-analysis.yml b/.github/workflows/pr-analysis.yml
new file mode 100644
index 000000000000..b74a99c9799b
--- /dev/null
+++ b/.github/workflows/pr-analysis.yml
@@ -0,0 +1,14 @@
+name: PR Analysis
+on:
+ pull_request:
+ types: [opened, synchronize, labeled, unlabeled]
+permissions:
+ contents: read
+ pull-requests: read
+jobs:
+ allowed-labels:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Return error if branch is in lockdown or 'do not merge' label is present
+ run: echo "Labels on this PR prevent it from being merged. Please contact the repo owners for more information." && exit 1
+ if: ${{ contains(github.event.pull_request.labels.*.name, 'Branch Lockdown') || contains(github.event.pull_request.labels.*.name, 'DO NOT MERGE') }}
diff --git a/NuGet.config b/NuGet.config
index b99b27aa1d76..d980df3d28bf 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,13 +4,15 @@
-
+
+
+
-
+
@@ -18,13 +20,13 @@
-
+
-
+
-
+
@@ -51,15 +53,15 @@
-
+
-
+
-
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index ddfd21bca8e8..1fbc8c22abe9 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,59 +1,59 @@
-
+
https://github.com/dotnet/templating
- 5d99405601e2672cd496087efc51611f1fc0d860
+ 21231eb04bbada374ed06160e7889c161d4e1453
-
+
https://github.com/dotnet/templating
- 5d99405601e2672cd496087efc51611f1fc0d860
+ 21231eb04bbada374ed06160e7889c161d4e1453
-
+
https://github.com/dotnet/templating
- 5d99405601e2672cd496087efc51611f1fc0d860
+ 21231eb04bbada374ed06160e7889c161d4e1453
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
81cabf2857a01351e5ab578947c7403a5b128ad1
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
-
+
https://github.com/dotnet/emsdk
- ec84e775d21d3b7a6698ec30f7b2a5a9e3acd314
+ 6afd7b9f34943078f2e3b747f33350e5fe114269
https://github.com/dotnet/msbuild
@@ -111,13 +111,13 @@
https://github.com/dotnet/roslyn
bc1c3011064a493b0ca527df6fb7215e2e5cfa96
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
https://github.com/nuget/nuget.client
@@ -200,21 +200,21 @@
https://github.com/microsoft/vstest
7855c9b221686104532ebf3380f2d45b3613b369
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
5535e31a712343a63f5d7d796cd874e563e5ac14
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 81cabf2857a01351e5ab578947c7403a5b128ad1
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
@@ -228,70 +228,70 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
5535e31a712343a63f5d7d796cd874e563e5ac14
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop
- 8506c0d82a3737ab3e7edce3976f11065bb57fd2
+ 83fc500260851a71b62ed3e92e672021624c28da
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop
- 8506c0d82a3737ab3e7edce3976f11065bb57fd2
+ 83fc500260851a71b62ed3e92e672021624c28da
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop
- 8506c0d82a3737ab3e7edce3976f11065bb57fd2
+ 83fc500260851a71b62ed3e92e672021624c28da
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-windowsdesktop
- 8506c0d82a3737ab3e7edce3976f11065bb57fd2
+ 83fc500260851a71b62ed3e92e672021624c28da
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-wpf
- af059f93ea0cd5b695d098162f0d9b1651adb6a3
+ 4d5e32859f7dfaca9102a95d111a49d2aa2dbd8c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
https://github.com/dotnet/razor
@@ -306,21 +306,21 @@
https://github.com/dotnet/razor
c937db618f8c8739c6fa66ab4ca541344a468fdc
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
https://github.com/dotnet/xdt
@@ -354,9 +354,9 @@
dc30cd1ec22f198d658e011c14525d4d65873991
-
+
https://github.com/dotnet/source-build-reference-packages
- d73fc552386797322e84fa9b2ef5eaa5369de83c
+ b09e26d761555d806f31af68d6fe5dfdeebf6e38
@@ -408,7 +408,7 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 1584e493603cfc4e9b36b77d6d4afe97de6363f9
+ 50c4cb9fc31c47f03eac865d7bc518af173b74b7
@@ -437,9 +437,9 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
5535e31a712343a63f5d7d796cd874e563e5ac14
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-aspnetcore
- 25ef4aa38b77974263cb10f6e9cbd10135f17b59
+ 8899cb30120d41413065f1b1465cdabefe0a1f9c
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
@@ -491,22 +491,22 @@
-
+
https://github.com/dotnet/arcade
- a319ada170a54ee87c7a81e3309948e3d3ea7aca
+ 802042c6e779b73b4edb012ee1d5bae02ec8d41c
-
+
https://github.com/dotnet/arcade
- a319ada170a54ee87c7a81e3309948e3d3ea7aca
+ 802042c6e779b73b4edb012ee1d5bae02ec8d41c
-
+
https://github.com/dotnet/arcade
- a319ada170a54ee87c7a81e3309948e3d3ea7aca
+ 802042c6e779b73b4edb012ee1d5bae02ec8d41c
-
+
https://github.com/dotnet/arcade
- a319ada170a54ee87c7a81e3309948e3d3ea7aca
+ 802042c6e779b73b4edb012ee1d5bae02ec8d41c
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
diff --git a/eng/Versions.props b/eng/Versions.props
index 2000178115a6..092dc2bc57b5 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -11,7 +11,7 @@
- 8.0.407
+ 8.0.408
8.0.400
true
@@ -36,7 +36,7 @@
8.0.0
4.0.0
8.0.0
- 8.0.0-beta.25111.4
+ 8.0.0-beta.25164.5
7.0.0-preview.22423.2
8.0.0
4.3.0
@@ -51,29 +51,29 @@
- 8.0.14
- 8.0.14-servicing.25111.18
- 8.0.14
+ 8.0.15
+ 8.0.15-servicing.25164.13
+ 8.0.15
$(MicrosoftNETCoreAppRuntimewinx64PackageVersion)
8.0.2
- 8.0.14
- 8.0.14-servicing.25111.18
+ 8.0.15
+ 8.0.15-servicing.25164.13
8.0.0
$(MicrosoftExtensionsDependencyModelPackageVersion)
8.0.1
8.0.3
8.0.1
- 8.0.14
+ 8.0.15
8.0.0
8.0.0
- 8.0.14
+ 8.0.15
8.0.0
8.0.0
8.0.0
8.0.0
8.0.0
8.0.0
- 8.0.1
+ 8.0.2
8.0.1
8.0.7
8.0.1
@@ -141,13 +141,13 @@
- 8.0.407
+ 8.0.408
$(MicrosoftTemplateEngineAbstractionsPackageVersion)
$(MicrosoftTemplateEngineAbstractionsPackageVersion)
$(MicrosoftTemplateEngineAbstractionsPackageVersion)
$(MicrosoftTemplateEngineAbstractionsPackageVersion)
- 8.0.407-servicing.25105.9
+ 8.0.408-servicing.25163.2
$(MicrosoftTemplateEngineMocksPackageVersion)
$(MicrosoftTemplateEngineAbstractionsPackageVersion)
$(MicrosoftTemplateEngineMocksPackageVersion)
@@ -169,13 +169,13 @@
- 8.0.14
- 8.0.14-servicing.25112.21
- 8.0.14-servicing.25112.21
- 8.0.14-servicing.25112.21
- 8.0.14-servicing.25112.21
- 8.0.14-servicing.25112.21
- 8.0.14
+ 8.0.15
+ 8.0.15-servicing.25165.5
+ 8.0.15-servicing.25165.5
+ 8.0.15-servicing.25165.5
+ 8.0.15-servicing.25165.5
+ 8.0.15-servicing.25165.5
+ 8.0.15
@@ -185,7 +185,7 @@
- 8.0.14-servicing.25113.2
+ 8.0.15-servicing.25167.9
@@ -213,7 +213,7 @@
6.12.0
6.1.0
- 8.0.0-beta.25111.4
+ 8.0.0-beta.25164.5
4.18.4
1.3.2
8.0.0-beta.23607.1
@@ -229,7 +229,7 @@
- 8.0.14
+ 8.0.15
$(MicrosoftNETWorkloadEmscriptenCurrentManifest80100PackageVersion)
8.0.100$([System.Text.RegularExpressions.Regex]::Match($(EmscriptenWorkloadManifestVersion), `-rtm|-[A-z]*\.*\d*`))
diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake
index dafabdcaef00..f93dc440df0e 100644
--- a/eng/common/cross/toolchain.cmake
+++ b/eng/common/cross/toolchain.cmake
@@ -280,6 +280,8 @@ elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64)$")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH}")
endif()
+elseif(TARGET_ARCH_NAME STREQUAL "s390x")
+ add_toolchain_linker_flag("--target=${TOOLCHAIN}")
elseif(TARGET_ARCH_NAME STREQUAL "x86")
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
add_toolchain_linker_flag("--target=${TOOLCHAIN}")
@@ -327,6 +329,8 @@ if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
if(TARGET_ARCH_NAME STREQUAL "armel")
add_compile_options(-mfloat-abi=softfp)
endif()
+elseif(TARGET_ARCH_NAME STREQUAL "s390x")
+ add_compile_options("--target=${TOOLCHAIN}")
elseif(TARGET_ARCH_NAME STREQUAL "x86")
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
add_compile_options(--target=${TOOLCHAIN})
diff --git a/eng/common/generate-sbom-prep.ps1 b/eng/common/generate-sbom-prep.ps1
index 3e5c1c74a1c5..a0c7d792a76f 100644
--- a/eng/common/generate-sbom-prep.ps1
+++ b/eng/common/generate-sbom-prep.ps1
@@ -4,18 +4,26 @@ Param(
. $PSScriptRoot\pipeline-logging-functions.ps1
+# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly
+# with their own overwriting ours. So we create it as a sub directory of the requested manifest path.
+$ArtifactName = "${env:SYSTEM_STAGENAME}_${env:AGENT_JOBNAME}_SBOM"
+$SafeArtifactName = $ArtifactName -replace '["/:<>\\|?@*"() ]', '_'
+$SbomGenerationDir = Join-Path $ManifestDirPath $SafeArtifactName
+
+Write-Host "Artifact name before : $ArtifactName"
+Write-Host "Artifact name after : $SafeArtifactName"
+
Write-Host "Creating dir $ManifestDirPath"
+
# create directory for sbom manifest to be placed
-if (!(Test-Path -path $ManifestDirPath))
+if (!(Test-Path -path $SbomGenerationDir))
{
- New-Item -ItemType Directory -path $ManifestDirPath
- Write-Host "Successfully created directory $ManifestDirPath"
+ New-Item -ItemType Directory -path $SbomGenerationDir
+ Write-Host "Successfully created directory $SbomGenerationDir"
}
else{
Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder."
}
Write-Host "Updating artifact name"
-$artifact_name = "${env:SYSTEM_STAGENAME}_${env:AGENT_JOBNAME}_SBOM" -replace '["/:<>\\|?@*"() ]', '_'
-Write-Host "Artifact name $artifact_name"
-Write-Host "##vso[task.setvariable variable=ARTIFACT_NAME]$artifact_name"
+Write-Host "##vso[task.setvariable variable=ARTIFACT_NAME]$SafeArtifactName"
diff --git a/eng/common/generate-sbom-prep.sh b/eng/common/generate-sbom-prep.sh
index d5c76dc827b4..bbb4922151e6 100644
--- a/eng/common/generate-sbom-prep.sh
+++ b/eng/common/generate-sbom-prep.sh
@@ -14,19 +14,24 @@ done
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
. $scriptroot/pipeline-logging-functions.sh
+# replace all special characters with _, some builds use special characters like : in Agent.Jobname, that is not a permissible name while uploading artifacts.
+artifact_name=$SYSTEM_STAGENAME"_"$AGENT_JOBNAME"_SBOM"
+safe_artifact_name="${artifact_name//["/:<>\\|?@*$" ]/_}"
+
manifest_dir=$1
-if [ ! -d "$manifest_dir" ] ; then
- mkdir -p "$manifest_dir"
- echo "Sbom directory created." $manifest_dir
+# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly
+# with their own overwriting ours. So we create it as a sub directory of the requested manifest path.
+sbom_generation_dir="$manifest_dir/$safe_artifact_name"
+
+if [ ! -d "$sbom_generation_dir" ] ; then
+ mkdir -p "$sbom_generation_dir"
+ echo "Sbom directory created." $sbom_generation_dir
else
Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder."
fi
-artifact_name=$SYSTEM_STAGENAME"_"$AGENT_JOBNAME"_SBOM"
echo "Artifact name before : "$artifact_name
-# replace all special characters with _, some builds use special characters like : in Agent.Jobname, that is not a permissible name while uploading artifacts.
-safe_artifact_name="${artifact_name//["/:<>\\|?@*$" ]/_}"
echo "Artifact name after : "$safe_artifact_name
export ARTIFACT_NAME=$safe_artifact_name
echo "##vso[task.setvariable variable=ARTIFACT_NAME]$safe_artifact_name"
diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml
index 1f035fee73f4..98ccbd7a9c16 100644
--- a/eng/common/templates-official/job/job.yml
+++ b/eng/common/templates-official/job/job.yml
@@ -38,6 +38,7 @@ parameters:
enableSbom: true
PackageVersion: 7.0.0
BuildDropPath: '$(Build.SourcesDirectory)/artifacts'
+ ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom
jobs:
- job: ${{ parameters.name }}
@@ -261,4 +262,4 @@ jobs:
targetPath: '$(Build.SourcesDirectory)\eng\common\BuildConfiguration'
artifactName: 'BuildConfiguration'
displayName: 'Publish build retry configuration'
- continueOnError: true
\ No newline at end of file
+ continueOnError: true
diff --git a/eng/common/templates-official/steps/generate-sbom.yml b/eng/common/templates-official/steps/generate-sbom.yml
index 1bf43bf807af..daf0957b68d7 100644
--- a/eng/common/templates-official/steps/generate-sbom.yml
+++ b/eng/common/templates-official/steps/generate-sbom.yml
@@ -35,7 +35,7 @@ steps:
PackageName: ${{ parameters.packageName }}
BuildDropPath: ${{ parameters.buildDropPath }}
PackageVersion: ${{ parameters.packageVersion }}
- ManifestDirPath: ${{ parameters.manifestDirPath }}
+ ManifestDirPath: ${{ parameters.manifestDirPath }}/$(ARTIFACT_NAME)
${{ if ne(parameters.IgnoreDirectories, '') }}:
AdditionalComponentDetectorArgs: '--IgnoreDirectories ${{ parameters.IgnoreDirectories }}'
diff --git a/eng/common/templates-official/steps/send-to-helix.yml b/eng/common/templates-official/steps/send-to-helix.yml
index 3eb7e2d5f840..22f2501307d4 100644
--- a/eng/common/templates-official/steps/send-to-helix.yml
+++ b/eng/common/templates-official/steps/send-to-helix.yml
@@ -8,6 +8,7 @@ parameters:
HelixConfiguration: '' # optional -- additional property attached to a job
HelixPreCommands: '' # optional -- commands to run before Helix work item execution
HelixPostCommands: '' # optional -- commands to run after Helix work item execution
+ HelixProjectArguments: '' # optional -- arguments passed to the build command for helixpublish.proj
WorkItemDirectory: '' # optional -- a payload directory to zip up and send to Helix; requires WorkItemCommand; incompatible with XUnitProjects
WorkItemCommand: '' # optional -- a command to execute on the payload; requires WorkItemDirectory; incompatible with XUnitProjects
WorkItemTimeout: '' # optional -- a timeout in TimeSpan.Parse-ready value (e.g. 00:02:00) for the work item command; requires WorkItemDirectory; incompatible with XUnitProjects
@@ -24,12 +25,12 @@ parameters:
IsExternal: false # [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set
HelixBaseUri: 'https://helix.dot.net/' # optional -- sets the Helix API base URI (allows targeting https://helix.int-dot.net )
Creator: '' # optional -- if the build is external, use this to specify who is sending the job
- DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
+ DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
condition: succeeded() # optional -- condition for step to execute; defaults to succeeded()
continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false
steps:
- - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
+ - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj ${{ parameters.HelixProjectArguments }} /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
env:
BuildConfig: $(_BuildConfig)
@@ -59,7 +60,7 @@ steps:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
- - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
+ - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj ${{ parameters.HelixProjectArguments }} /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
env:
BuildConfig: $(_BuildConfig)
diff --git a/eng/common/templates/steps/send-to-helix.yml b/eng/common/templates/steps/send-to-helix.yml
index 3eb7e2d5f840..22f2501307d4 100644
--- a/eng/common/templates/steps/send-to-helix.yml
+++ b/eng/common/templates/steps/send-to-helix.yml
@@ -8,6 +8,7 @@ parameters:
HelixConfiguration: '' # optional -- additional property attached to a job
HelixPreCommands: '' # optional -- commands to run before Helix work item execution
HelixPostCommands: '' # optional -- commands to run after Helix work item execution
+ HelixProjectArguments: '' # optional -- arguments passed to the build command for helixpublish.proj
WorkItemDirectory: '' # optional -- a payload directory to zip up and send to Helix; requires WorkItemCommand; incompatible with XUnitProjects
WorkItemCommand: '' # optional -- a command to execute on the payload; requires WorkItemDirectory; incompatible with XUnitProjects
WorkItemTimeout: '' # optional -- a timeout in TimeSpan.Parse-ready value (e.g. 00:02:00) for the work item command; requires WorkItemDirectory; incompatible with XUnitProjects
@@ -24,12 +25,12 @@ parameters:
IsExternal: false # [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set
HelixBaseUri: 'https://helix.dot.net/' # optional -- sets the Helix API base URI (allows targeting https://helix.int-dot.net )
Creator: '' # optional -- if the build is external, use this to specify who is sending the job
- DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
+ DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
condition: succeeded() # optional -- condition for step to execute; defaults to succeeded()
continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false
steps:
- - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
+ - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj ${{ parameters.HelixProjectArguments }} /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
env:
BuildConfig: $(_BuildConfig)
@@ -59,7 +60,7 @@ steps:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
- - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
+ - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj ${{ parameters.HelixProjectArguments }} /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
env:
BuildConfig: $(_BuildConfig)
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index a00577ed17aa..82b2798ba307 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -42,7 +42,7 @@
[bool]$useInstalledDotNetCli = if (Test-Path variable:useInstalledDotNetCli) { $useInstalledDotNetCli } else { $true }
# Enable repos to use a particular version of the on-line dotnet-install scripts.
-# default URL: https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.ps1
+# default URL: https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.ps1
[string]$dotnetInstallScriptVersion = if (Test-Path variable:dotnetInstallScriptVersion) { $dotnetInstallScriptVersion } else { 'v1' }
# True to use global NuGet cache instead of restoring packages to repository-local directory.
@@ -263,7 +263,7 @@ function GetDotNetInstallScript([string] $dotnetRoot) {
if (!(Test-Path $installScript)) {
Create-Directory $dotnetRoot
$ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit
- $uri = "https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1"
+ $uri = "https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1"
Retry({
Write-Host "GET $uri"
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index b9b329ce37ff..68db15430230 100755
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -54,7 +54,7 @@ warn_as_error=${warn_as_error:-true}
use_installed_dotnet_cli=${use_installed_dotnet_cli:-true}
# Enable repos to use a particular version of the on-line dotnet-install scripts.
-# default URL: https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
+# default URL: https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh
dotnetInstallScriptVersion=${dotnetInstallScriptVersion:-'v1'}
# True to use global NuGet cache instead of restoring packages to repository-local directory.
@@ -297,7 +297,7 @@ function with_retries {
function GetDotNetInstallScript {
local root=$1
local install_script="$root/dotnet-install.sh"
- local install_script_url="https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh"
+ local install_script_url="https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh"
if [[ ! -a "$install_script" ]]; then
mkdir -p "$root"
diff --git a/global.json b/global.json
index ba40e5c7d5b5..9982ec1ef3b5 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"tools": {
- "dotnet": "8.0.113",
+ "dotnet": "8.0.114",
"runtimes": {
"dotnet": [
"$(VSRedistCommonNetCoreSharedFrameworkx6480PackageVersion)"
@@ -14,7 +14,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25111.4",
- "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25111.4"
+ "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25164.5",
+ "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25164.5"
}
}
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets
index bc5fe1653119..367b8a20e7e8 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets
@@ -24,6 +24,15 @@ Copyright (c) .NET Foundation. All rights reserved.
true
+
+
+
+
+
+
+
+
+
Always
diff --git a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeHaveAPackageReferenceWithAliases.cs b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeHaveAPackageReferenceWithAliases.cs
index 63ba728b5084..5b895304f022 100644
--- a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeHaveAPackageReferenceWithAliases.cs
+++ b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeHaveAPackageReferenceWithAliases.cs
@@ -39,7 +39,7 @@ public void CanBuildProjectWithPackageReferencesWithConflictingTypes()
var testAsset = _testAssetsManager.CreateTestProject(testProject);
var packagesPaths = packageReferences.Select(e => Path.GetDirectoryName(e.NupkgPath));
- List sources = new List() { NuGetConfigWriter.DotnetCoreBlobFeed };
+ List sources = new();
sources.AddRange(packagesPaths);
NuGetConfigWriter.Write(testAsset.TestRoot, sources);
@@ -85,7 +85,7 @@ public void CanBuildProjectWithMultiplePackageReferencesWithAliases()
testProject.SourceFiles[$"{testProject.Name}.cs"] = ClassLibAandBUsage;
var testAsset = _testAssetsManager.CreateTestProject(testProject);
- List sources = new List() { NuGetConfigWriter.DotnetCoreBlobFeed, Path.GetDirectoryName(packageReferenceA.NupkgPath), Path.GetDirectoryName(packageReferenceB.NupkgPath) };
+ List sources = new List() { Path.GetDirectoryName(packageReferenceA.NupkgPath), Path.GetDirectoryName(packageReferenceB.NupkgPath) };
NuGetConfigWriter.Write(testAsset.TestRoot, sources);
var buildCommand = new BuildCommand(testAsset)
@@ -122,7 +122,7 @@ public void CanBuildProjectWithAPackageReferenceWithMultipleAliases()
testProject.SourceFiles[$"{testProject.Name}.cs"] = ClassLibAandBUsage;
var testAsset = _testAssetsManager.CreateTestProject(testProject);
- List sources = new List() { NuGetConfigWriter.DotnetCoreBlobFeed, Path.GetDirectoryName(packageReferenceA.NupkgPath) };
+ List sources = new List() { Path.GetDirectoryName(packageReferenceA.NupkgPath) };
NuGetConfigWriter.Write(testAsset.TestRoot, sources);
var buildCommand = new BuildCommand(testAsset)
diff --git a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildANetCoreApp.cs b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildANetCoreApp.cs
index 2701aa314dd1..c4e87d3e9737 100644
--- a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildANetCoreApp.cs
+++ b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildANetCoreApp.cs
@@ -133,7 +133,7 @@ private void It_targets_the_right_framework(
var testAsset = _testAssetsManager.CreateTestProject(testProject, testIdentifier);
- NuGetConfigWriter.Write(testAsset.TestRoot, NuGetConfigWriter.DotnetCoreBlobFeed);
+ NuGetConfigWriter.Write(testAsset.TestRoot);
var buildCommand = new BuildCommand(testAsset);
diff --git a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToGenerateADepsFileForATool.cs b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToGenerateADepsFileForATool.cs
index c73131a42541..c1f324d5e510 100644
--- a/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToGenerateADepsFileForATool.cs
+++ b/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToGenerateADepsFileForATool.cs
@@ -86,7 +86,7 @@ private CommandResult GenerateDepsAndRunTool(TestProject toolProject, [CallerMem
var toolProjectInstance = _testAssetsManager.CreateTestProject(toolProject, callingMethod, identifier: toolProject.Name);
- NuGetConfigWriter.Write(toolProjectInstance.TestRoot, NuGetConfigWriter.DotnetCoreBlobFeed);
+ NuGetConfigWriter.Write(toolProjectInstance.TestRoot);
// Workaround https://github.com/dotnet/cli/issues/9701
var useBundledNETCoreAppPackage = "/p:UseBundledNETCoreAppPackageVersionAsDefaultNetCorePatchVersion=true";
@@ -118,7 +118,7 @@ private CommandResult GenerateDepsAndRunTool(TestProject toolProject, [CallerMem
new XAttribute("Version", "1.0.0")));
});
- List sources = new List() { NuGetConfigWriter.DotnetCoreBlobFeed };
+ List sources = new();
sources.Add(nupkgPath);
NuGetConfigWriter.Write(toolReferencerInstance.TestRoot, sources);
diff --git a/src/Tests/Microsoft.NET.Publish.Tests/GivenThatWeWantToStoreAProjectWithDependencies.cs b/src/Tests/Microsoft.NET.Publish.Tests/GivenThatWeWantToStoreAProjectWithDependencies.cs
index b8b880bc0399..9d59b076dd58 100644
--- a/src/Tests/Microsoft.NET.Publish.Tests/GivenThatWeWantToStoreAProjectWithDependencies.cs
+++ b/src/Tests/Microsoft.NET.Publish.Tests/GivenThatWeWantToStoreAProjectWithDependencies.cs
@@ -119,36 +119,6 @@ public void compose_dependencies_noopt()
storeDirectory.Should().OnlyHaveFiles(files_on_disk);
}
- [Fact]
- public void store_nativeonlyassets()
- {
- TestAsset simpleDependenciesAsset = _testAssetsManager
- .CopyTestAsset("UnmanagedStore")
- .WithSource();
-
- var storeCommand = new ComposeStoreCommand(Log, simpleDependenciesAsset.TestRoot);
-
- var OutputFolder = Path.Combine(simpleDependenciesAsset.TestRoot, "outdir");
- var WorkingDir = Path.Combine(simpleDependenciesAsset.TestRoot, "w");
-
- NuGetConfigWriter.Write(simpleDependenciesAsset.TestRoot, NuGetConfigWriter.DotnetCoreBlobFeed);
-
- storeCommand
- .Execute($"/p:RuntimeIdentifier={_runtimeRid}", $"/p:TargetFramework={_tfm}", $"/p:ComposeWorkingDir={WorkingDir}", $"/p:ComposeDir={OutputFolder}", $"/p:DoNotDecorateComposeDir=true")
- .Should()
- .Pass();
-
- DirectoryInfo storeDirectory = new DirectoryInfo(OutputFolder);
-
- List files_on_disk = new List {
- "artifact.xml",
- $"runtime.{_runtimeRid}.microsoft.netcore.coredistools/1.0.1-prerelease-00001/runtimes/{_runtimeRid}/native/{_libPrefix}coredistools{FileConstants.DynamicLibSuffix}",
- $"runtime.{_runtimeRid}.microsoft.netcore.coredistools/1.0.1-prerelease-00001/runtimes/{_runtimeRid}/native/coredistools.h"
- };
-
- storeDirectory.Should().OnlyHaveFiles(files_on_disk);
- }
-
[Fact]
public void compose_multifile()
{
diff --git a/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantToIgnoreObsoleteDotNetCliToolPackages.cs b/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantToIgnoreObsoleteDotNetCliToolPackages.cs
index b5d8b02faafc..0d2eaca53898 100644
--- a/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantToIgnoreObsoleteDotNetCliToolPackages.cs
+++ b/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantToIgnoreObsoleteDotNetCliToolPackages.cs
@@ -34,7 +34,7 @@ public void It_issues_warning_and_skips_restore_for_obsolete_DotNetCliToolRefere
new XAttribute("Include", obsoletePackageId)));
});
- NuGetConfigWriter.Write(toolProjectInstance.TestRoot, NuGetConfigWriter.DotnetCoreBlobFeed);
+ NuGetConfigWriter.Write(toolProjectInstance.TestRoot);
RestoreCommand restoreCommand = toolProjectInstance.GetRestoreCommand(Log, toolProject.Name);
restoreCommand.Execute("/v:n").Should()
diff --git a/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantToRestoreDotNetCliToolReference.cs b/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantToRestoreDotNetCliToolReference.cs
index 8d820ac26b27..694da217c50f 100644
--- a/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantToRestoreDotNetCliToolReference.cs
+++ b/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantToRestoreDotNetCliToolReference.cs
@@ -50,7 +50,7 @@ public void It_can_restore_with_netcoreapp2_2()
DeleteFolder(Path.Combine(TestContext.Current.NuGetCachePath, toolProject.Name.ToLowerInvariant()));
DeleteFolder(Path.Combine(TestContext.Current.NuGetCachePath, ".tools", toolProject.Name.ToLowerInvariant()));
- NuGetConfigWriter.Write(toolReferenceProjectInstance.TestRoot, NuGetConfigWriter.DotnetCoreBlobFeed, nupkgPath);
+ NuGetConfigWriter.Write(toolReferenceProjectInstance.TestRoot, nupkgPath);
RestoreCommand restoreCommand =
toolReferenceProjectInstance.GetRestoreCommand(log: Log, relativePath: toolReferenceProject.Name);
diff --git a/src/Tests/Microsoft.NET.TestFramework/NuGetConfigWriter.cs b/src/Tests/Microsoft.NET.TestFramework/NuGetConfigWriter.cs
index 6a35fe11677b..5f85ea7c5515 100644
--- a/src/Tests/Microsoft.NET.TestFramework/NuGetConfigWriter.cs
+++ b/src/Tests/Microsoft.NET.TestFramework/NuGetConfigWriter.cs
@@ -5,7 +5,6 @@ namespace Microsoft.NET.TestFramework
{
public static class NuGetConfigWriter
{
- public static readonly string DotnetCoreBlobFeed = "https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json";
public static readonly string AspNetCoreDevFeed = "https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json";
public static void Write(string folder, params string[] nugetSources)