Skip to content

Commit e5a83e5

Browse files
authored
Merge pull request #17506 from dotnet/merges/main-to-release/dev17.12
Merge main to release/dev17.12
2 parents 6de4f3f + 56e79eb commit e5a83e5

File tree

22 files changed

+440
-232
lines changed

22 files changed

+440
-232
lines changed

eng/Version.Details.xml

+4-4
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@
4242
</Dependency>
4343
</ProductDependencies>
4444
<ToolsetDependencies>
45-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24352.2">
45+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24405.1">
4646
<Uri>https://github.com/dotnet/arcade</Uri>
47-
<Sha>4a7d983f833d6b86365ea1b2b4d6ee72fbdbf944</Sha>
47+
<Sha>2c829550b968e29389ce8392244da2b006d71301</Sha>
4848
</Dependency>
4949
<!-- Intermediate is necessary for source build. -->
50-
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24352.2">
50+
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24405.1">
5151
<Uri>https://github.com/dotnet/arcade</Uri>
52-
<Sha>4a7d983f833d6b86365ea1b2b4d6ee72fbdbf944</Sha>
52+
<Sha>2c829550b968e29389ce8392244da2b006d71301</Sha>
5353
<SourceBuild RepoName="arcade" ManagedOnly="true" />
5454
</Dependency>
5555
<Dependency Name="optimization.windows_nt-x64.MIBC.Runtime" Version="1.0.0-prerelease.23614.4">

eng/common/core-templates/job/publish-build-assets.yml

+7-25
Original file line numberDiff line numberDiff line change
@@ -113,38 +113,19 @@ jobs:
113113
Add-Content -Path $filePath -Value "$(DefaultChannels)"
114114
Add-Content -Path $filePath -Value $(IsStableBuild)
115115
116-
- template: /eng/common/core-templates/steps/publish-build-artifacts.yml
117-
parameters:
118-
is1ESPipeline: ${{ parameters.is1ESPipeline }}
119-
args:
120-
displayName: Publish ReleaseConfigs Artifact
121-
pathToPublish: '$(Build.StagingDirectory)/ReleaseConfigs'
122-
publishLocation: Container
123-
artifactName: ReleaseConfigs
124-
125-
- task: powershell@2
126-
displayName: Check if SymbolPublishingExclusionsFile.txt exists
127-
inputs:
128-
targetType: inline
129-
script: |
130116
$symbolExclusionfile = "$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt"
131-
if(Test-Path -Path $symbolExclusionfile)
117+
if (Test-Path -Path $symbolExclusionfile)
132118
{
133119
Write-Host "SymbolExclusionFile exists"
134-
Write-Host "##vso[task.setvariable variable=SymbolExclusionFile]true"
135-
}
136-
else{
137-
Write-Host "Symbols Exclusion file does not exist"
138-
Write-Host "##vso[task.setvariable variable=SymbolExclusionFile]false"
120+
Copy-Item -Path $symbolExclusionfile -Destination "$(Build.StagingDirectory)/ReleaseConfigs"
139121
}
140122
141123
- template: /eng/common/core-templates/steps/publish-build-artifacts.yml
142124
parameters:
143125
is1ESPipeline: ${{ parameters.is1ESPipeline }}
144126
args:
145-
displayName: Publish SymbolPublishingExclusionsFile Artifact
146-
condition: eq(variables['SymbolExclusionFile'], 'true')
147-
pathToPublish: '$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt'
127+
displayName: Publish ReleaseConfigs Artifact
128+
pathToPublish: '$(Build.StagingDirectory)/ReleaseConfigs'
148129
publishLocation: Container
149130
artifactName: ReleaseConfigs
150131

@@ -162,9 +143,10 @@ jobs:
162143
scriptType: ps
163144
scriptLocation: scriptPath
164145
scriptPath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
165-
arguments: -BuildId $(BARBuildId)
146+
arguments: >
147+
-BuildId $(BARBuildId)
166148
-PublishingInfraVersion 3
167-
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
149+
-AzdoToken '$(System.AccessToken)'
168150
-WaitPublishingFinish true
169151
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
170152
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'

eng/common/core-templates/job/source-index-stage1.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,12 @@ jobs:
3434
pool:
3535
${{ if eq(variables['System.TeamProject'], 'public') }}:
3636
name: $(DncEngPublicBuildPool)
37-
image: windows.vs2022.amd64.open
37+
image: 1es-windows-2022-open
38+
os: windows
3839
${{ if eq(variables['System.TeamProject'], 'internal') }}:
3940
name: $(DncEngInternalBuildPool)
40-
image: windows.vs2022.amd64
41+
image: 1es-windows-2022
42+
os: windows
4143

4244
steps:
4345
- ${{ if eq(parameters.is1ESPipeline, '') }}:

eng/common/core-templates/post-build/post-build.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -307,9 +307,10 @@ stages:
307307
scriptType: ps
308308
scriptLocation: scriptPath
309309
scriptPath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
310-
arguments: -BuildId $(BARBuildId)
310+
arguments: >
311+
-BuildId $(BARBuildId)
311312
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
312-
-AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
313+
-AzdoToken '$(System.AccessToken)'
313314
-WaitPublishingFinish true
314315
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
315316
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'

eng/common/core-templates/steps/get-federated-access-token.yml

+15-1
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,31 @@ parameters:
33
type: string
44
- name: outputVariableName
55
type: string
6+
- name: is1ESPipeline
7+
type: boolean
8+
- name: stepName
9+
type: string
10+
default: 'getFederatedAccessToken'
11+
- name: condition
12+
type: string
13+
default: ''
614
# Resource to get a token for. Common values include:
715
# - '499b84ac-1321-427f-aa17-267ca6975798' for Azure DevOps
816
# - 'https://storage.azure.com/' for storage
917
# Defaults to Azure DevOps
1018
- name: resource
1119
type: string
1220
default: '499b84ac-1321-427f-aa17-267ca6975798'
21+
- name: isStepOutputVariable
22+
type: boolean
23+
default: false
1324

1425
steps:
1526
- task: AzureCLI@2
1627
displayName: 'Getting federated access token for feeds'
28+
name: ${{ parameters.stepName }}
29+
${{ if ne(parameters.condition, '') }}:
30+
condition: ${{ parameters.condition }}
1731
inputs:
1832
azureSubscription: ${{ parameters.federatedServiceConnection }}
1933
scriptType: 'pscore'
@@ -25,4 +39,4 @@ steps:
2539
exit 1
2640
}
2741
Write-Host "Setting '${{ parameters.outputVariableName }}' with the access token value"
28-
Write-Host "##vso[task.setvariable variable=${{ parameters.outputVariableName }};issecret=true]$accessToken"
42+
Write-Host "##vso[task.setvariable variable=${{ parameters.outputVariableName }};issecret=true;isOutput=${{ parameters.isStepOutputVariable }}]$accessToken"

eng/common/core-templates/steps/publish-logs.yml

-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ steps:
3232
'$(MaestroAccessToken)'
3333
'$(dn-bot-all-orgs-artifact-feeds-rw)'
3434
'$(akams-client-id)'
35-
'$(akams-client-secret)'
3635
'$(microsoft-symbol-server-pat)'
3736
'$(symweb-symbol-server-pat)'
3837
'$(dn-bot-all-orgs-build-rw-code-rw)'

eng/common/cross/build-rootfs.sh

+8-8
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ __AlpinePackages+=" krb5-dev"
7272
__AlpinePackages+=" openssl-dev"
7373
__AlpinePackages+=" zlib-dev"
7474

75-
__FreeBSDBase="13.2-RELEASE"
75+
__FreeBSDBase="13.3-RELEASE"
7676
__FreeBSDPkg="1.17.0"
7777
__FreeBSDABI="13"
7878
__FreeBSDPackages="libunwind"
@@ -605,34 +605,34 @@ elif [[ "$__CodeName" == "illumos" ]]; then
605605
fi
606606
echo "Building binutils. Please wait.."
607607
if [[ "$__hasWget" == 1 ]]; then
608-
wget -O- https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.bz2 | tar -xjf -
608+
wget -O- https://ftp.gnu.org/gnu/binutils/binutils-2.42.tar.xz | tar -xJf -
609609
else
610-
curl -SL https://ftp.gnu.org/gnu/binutils/binutils-2.33.1.tar.bz2 | tar -xjf -
610+
curl -SL https://ftp.gnu.org/gnu/binutils/binutils-2.42.tar.xz | tar -xJf -
611611
fi
612612
mkdir build-binutils && cd build-binutils
613-
../binutils-2.33.1/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.10" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir"
613+
../binutils-2.42/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.11" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir"
614614
make -j "$JOBS" && make install && cd ..
615615
echo "Building gcc. Please wait.."
616616
if [[ "$__hasWget" == 1 ]]; then
617-
wget -O- https://ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.xz | tar -xJf -
617+
wget -O- https://ftp.gnu.org/gnu/gcc/gcc-13.3.0/gcc-13.3.0.tar.xz | tar -xJf -
618618
else
619-
curl -SL https://ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.xz | tar -xJf -
619+
curl -SL https://ftp.gnu.org/gnu/gcc/gcc-13.3.0/gcc-13.3.0.tar.xz | tar -xJf -
620620
fi
621621
CFLAGS="-fPIC"
622622
CXXFLAGS="-fPIC"
623623
CXXFLAGS_FOR_TARGET="-fPIC"
624624
CFLAGS_FOR_TARGET="-fPIC"
625625
export CFLAGS CXXFLAGS CXXFLAGS_FOR_TARGET CFLAGS_FOR_TARGET
626626
mkdir build-gcc && cd build-gcc
627-
../gcc-8.4.0/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.10" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir" --with-gnu-as \
627+
../gcc-13.3.0/configure --prefix="$__RootfsDir" --target="${__illumosArch}-sun-solaris2.11" --program-prefix="${__illumosArch}-illumos-" --with-sysroot="$__RootfsDir" --with-gnu-as \
628628
--with-gnu-ld --disable-nls --disable-libgomp --disable-libquadmath --disable-libssp --disable-libvtv --disable-libcilkrts --disable-libada --disable-libsanitizer \
629629
--disable-libquadmath-support --disable-shared --enable-tls
630630
make -j "$JOBS" && make install && cd ..
631631
BaseUrl=https://pkgsrc.smartos.org
632632
if [[ "$__UseMirror" == 1 ]]; then
633633
BaseUrl=https://pkgsrc.smartos.skylime.net
634634
fi
635-
BaseUrl="$BaseUrl/packages/SmartOS/trunk/${__illumosArch}/All"
635+
BaseUrl="$BaseUrl/packages/SmartOS/2019Q4/${__illumosArch}/All"
636636
echo "Downloading manifest"
637637
if [[ "$__hasWget" == 1 ]]; then
638638
wget "$BaseUrl"

eng/common/native/init-compiler.sh

+20-36
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,19 @@ case "$compiler" in
1919
# clangx.y or clang-x.y
2020
version="$(echo "$compiler" | tr -d '[:alpha:]-=')"
2121
majorVersion="${version%%.*}"
22-
[ -z "${version##*.*}" ] && minorVersion="${version#*.}"
2322

24-
if [ -z "$minorVersion" ] && [ -n "$majorVersion" ] && [ "$majorVersion" -le 6 ]; then
25-
minorVersion=0;
26-
fi
23+
# LLVM based on v18 released in early 2024, with two releases per year
24+
maxVersion="$((18 + ((($(date +%Y) - 2024) * 12 + $(date +%-m) - 3) / 6)))"
2725
compiler=clang
2826
;;
2927

3028
gcc*|-gcc*|--gcc*)
3129
# gccx.y or gcc-x.y
3230
version="$(echo "$compiler" | tr -d '[:alpha:]-=')"
3331
majorVersion="${version%%.*}"
34-
[ -z "${version##*.*}" ] && minorVersion="${version#*.}"
32+
33+
# GCC based on v14 released in early 2024, with one release per year
34+
maxVersion="$((14 + ((($(date +%Y) - 2024) * 12 + $(date +%-m) - 3) / 12)))"
3535
compiler=gcc
3636
;;
3737
esac
@@ -49,12 +49,10 @@ check_version_exists() {
4949
desired_version=-1
5050

5151
# Set up the environment to be used for building with the desired compiler.
52-
if command -v "$compiler-$1.$2" > /dev/null; then
53-
desired_version="-$1.$2"
54-
elif command -v "$compiler$1$2" > /dev/null; then
55-
desired_version="$1$2"
56-
elif command -v "$compiler-$1$2" > /dev/null; then
57-
desired_version="-$1$2"
52+
if command -v "$compiler-$1" > /dev/null; then
53+
desired_version="-$1"
54+
elif command -v "$compiler$1" > /dev/null; then
55+
desired_version="$1"
5856
fi
5957

6058
echo "$desired_version"
@@ -75,7 +73,7 @@ set_compiler_version_from_CC() {
7573
fi
7674

7775
# gcc and clang often display 3 part versions. However, gcc can show only 1 part in some environments.
78-
IFS=. read -r majorVersion minorVersion _ <<EOF
76+
IFS=. read -r majorVersion _ <<EOF
7977
$version
8078
EOF
8179
}
@@ -84,43 +82,29 @@ if [ -z "$CLR_CC" ]; then
8482

8583
# Set default versions
8684
if [ -z "$majorVersion" ]; then
87-
# note: gcc (all versions) and clang versions higher than 6 do not have minor version in file name, if it is zero.
88-
if [ "$compiler" = "clang" ]; then versions="18 17 16 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5"
89-
elif [ "$compiler" = "gcc" ]; then versions="14 13 12 11 10 9 8 7 6 5 4.9"; fi
90-
91-
for version in $versions; do
92-
_major="${version%%.*}"
93-
[ -z "${version##*.*}" ] && _minor="${version#*.}"
94-
desired_version="$(check_version_exists "$_major" "$_minor")"
95-
if [ "$desired_version" != "-1" ]; then majorVersion="$_major"; break; fi
85+
minVersion=8
86+
maxVersion="$((maxVersion + 1))" # +1 for headspace
87+
i="$maxVersion"
88+
while [ "$i" -ge $minVersion ]; do
89+
desired_version="$(check_version_exists "$i")"
90+
if [ "$desired_version" != "-1" ]; then majorVersion="$i"; break; fi
91+
i=$((i - 1))
9692
done
9793

9894
if [ -z "$majorVersion" ]; then
9995
if ! command -v "$compiler" > /dev/null; then
100-
echo "Error: No usable version of $compiler found."
96+
echo "Error: No compatible version of $compiler was found within the range of $minVersion to $maxVersion. Please upgrade your toolchain or specify the compiler explicitly using CLR_CC and CLR_CXX environment variables."
10197
exit 1
10298
fi
10399

104100
CC="$(command -v "$compiler" 2> /dev/null)"
105101
CXX="$(command -v "$cxxCompiler" 2> /dev/null)"
106102
set_compiler_version_from_CC
107-
else
108-
if [ "$compiler" = "clang" ] && [ "$majorVersion" -lt 5 ] && { [ "$build_arch" = "arm" ] || [ "$build_arch" = "armel" ]; }; then
109-
# If a major version was provided explicitly, and it was too old, find a newer compiler instead
110-
if ! command -v "$compiler" > /dev/null; then
111-
echo "Error: Found clang version $majorVersion which is not supported on arm/armel architectures, and there is no clang in PATH."
112-
exit 1
113-
fi
114-
115-
CC="$(command -v "$compiler" 2> /dev/null)"
116-
CXX="$(command -v "$cxxCompiler" 2> /dev/null)"
117-
set_compiler_version_from_CC
118-
fi
119103
fi
120104
else
121-
desired_version="$(check_version_exists "$majorVersion" "$minorVersion")"
105+
desired_version="$(check_version_exists "$majorVersion")"
122106
if [ "$desired_version" = "-1" ]; then
123-
echo "Error: Could not find specific version of $compiler: $majorVersion $minorVersion."
107+
echo "Error: Could not find specific version of $compiler: $majorVersion."
124108
exit 1
125109
fi
126110
fi

eng/common/post-build/publish-using-darc.ps1

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ try {
4242
--azdev-pat "$AzdoToken" `
4343
--bar-uri "$MaestroApiEndPoint" `
4444
--ci `
45+
--verbose `
4546
@optionalParams
4647

4748
if ($LastExitCode -ne 0) {

global.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"perl": "5.38.2.2"
1818
},
1919
"msbuild-sdks": {
20-
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24352.2",
20+
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.24405.1",
2121
"Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23255.2"
2222
}
2323
}

0 commit comments

Comments
 (0)