diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 735c5fa505b..4d29ebfc763 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,8 +1,8 @@
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
https://github.com/dotnet/diagnostics
@@ -12,55 +12,55 @@
https://github.com/dotnet/diagnostics
058c2fef083bc427b23e74752acaf3b436fcddda
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
https://github.com/dotnet/diagnostics
058c2fef083bc427b23e74752acaf3b436fcddda
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
-
+
https://github.com/dotnet/dotnet
- 6a953e76162f3f079405f80e28664fa51b136740
+ e9f665e52848a3615736c099e5631af531b66a5c
diff --git a/eng/Versions.props b/eng/Versions.props
index 711ac9c463a..a0af1c91d10 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -52,16 +52,16 @@
9.0.0-preview.25381.1
1.0.638101
- 10.0.0-rc.1.25377.103
- 10.0.0-preview.25377.103
- 10.0.0-beta.25377.103
- 10.0.0-beta.25377.103
- 10.0.0-beta.25377.103
- 10.0.0-preview.7.25377.103
- 2.0.0-rc.1.25377.103
- 10.0.0-rc.1.25377.103
- 10.0.100-preview.7.25377.103
- 10.0.0-preview.7.25377.103
+ 10.0.0-rc.1.25409.103
+ 10.0.0-preview.25409.103
+ 10.0.0-beta.25409.103
+ 10.0.0-beta.25409.103
+ 10.0.0-beta.25409.103
+ 10.0.0-rc.1.25409.103
+ 2.0.0-rc.1.25409.103
+ 10.0.0-rc.1.25409.103
+ 10.0.100-rc.1.25409.103
+ 10.0.0-rc.1.25409.103
$(MicrosoftNETCoreApp80Version)
diff --git a/eng/common/core-templates/job/onelocbuild.yml b/eng/common/core-templates/job/onelocbuild.yml
index 8034815f421..8bf7d23355b 100644
--- a/eng/common/core-templates/job/onelocbuild.yml
+++ b/eng/common/core-templates/job/onelocbuild.yml
@@ -4,7 +4,7 @@ parameters:
# Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
pool: ''
-
+
CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex
GithubPat: $(BotAccount-dotnet-bot-repo-PAT)
@@ -27,7 +27,7 @@ parameters:
is1ESPipeline: ''
jobs:
- job: OneLocBuild${{ parameters.JobNameSuffix }}
-
+
dependsOn: ${{ parameters.dependsOn }}
displayName: OneLocBuild${{ parameters.JobNameSuffix }}
@@ -99,22 +99,20 @@ jobs:
mirrorBranch: ${{ parameters.MirrorBranch }}
condition: ${{ parameters.condition }}
- - template: /eng/common/core-templates/steps/publish-build-artifacts.yml
- parameters:
- is1ESPipeline: ${{ parameters.is1ESPipeline }}
- args:
- displayName: Publish Localization Files
- pathToPublish: '$(Build.ArtifactStagingDirectory)/loc'
- publishLocation: Container
- artifactName: Loc
- condition: ${{ parameters.condition }}
+ # Copy the locProject.json to the root of the Loc directory, then publish a pipeline artifact
+ - task: CopyFiles@2
+ displayName: Copy LocProject.json
+ inputs:
+ SourceFolder: '$(Build.SourcesDirectory)/eng/Localize/'
+ Contents: 'LocProject.json'
+ TargetFolder: '$(Build.ArtifactStagingDirectory)/loc'
+ condition: ${{ parameters.condition }}
- - template: /eng/common/core-templates/steps/publish-build-artifacts.yml
+ - template: /eng/common/core-templates/steps/publish-pipeline-artifacts.yml
parameters:
is1ESPipeline: ${{ parameters.is1ESPipeline }}
args:
- displayName: Publish LocProject.json
- pathToPublish: '$(Build.SourcesDirectory)/eng/Localize/'
- publishLocation: Container
- artifactName: Loc
+ targetPath: '$(Build.ArtifactStagingDirectory)/loc'
+ artifactName: 'Loc'
+ displayName: 'Publish Localization Files'
condition: ${{ parameters.condition }}
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 996a5f9c872..d4cfd9ccd80 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -257,7 +257,20 @@ function Retry($downloadBlock, $maxRetries = 5) {
function GetDotNetInstallScript([string] $dotnetRoot) {
$installScript = Join-Path $dotnetRoot 'dotnet-install.ps1'
+ $shouldDownload = $false
+
if (!(Test-Path $installScript)) {
+ $shouldDownload = $true
+ } else {
+ # Check if the script is older than 30 days
+ $fileAge = (Get-Date) - (Get-Item $installScript).LastWriteTime
+ if ($fileAge.Days -gt 30) {
+ Write-Host "Existing install script is too old, re-downloading..."
+ $shouldDownload = $true
+ }
+ }
+
+ if ($shouldDownload) {
Create-Directory $dotnetRoot
$ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit
$uri = "https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1"
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index 3def02a638d..c1841c9dfd0 100644
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -300,8 +300,29 @@ function GetDotNetInstallScript {
local root=$1
local install_script="$root/dotnet-install.sh"
local install_script_url="https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh"
+ local timestamp_file="$root/.dotnet-install.timestamp"
+ local should_download=false
if [[ ! -a "$install_script" ]]; then
+ should_download=true
+ elif [[ -f "$timestamp_file" ]]; then
+ # Check if the script is older than 30 days using timestamp file
+ local download_time=$(cat "$timestamp_file" 2>/dev/null || echo "0")
+ local current_time=$(date +%s)
+ local age_seconds=$((current_time - download_time))
+
+ # 30 days = 30 * 24 * 60 * 60 = 2592000 seconds
+ if [[ $age_seconds -gt 2592000 ]]; then
+ echo "Existing install script is too old, re-downloading..."
+ should_download=true
+ fi
+ else
+ # No timestamp file exists, assume script is old and re-download
+ echo "No timestamp found for existing install script, re-downloading..."
+ should_download=true
+ fi
+
+ if [[ "$should_download" == true ]]; then
mkdir -p "$root"
echo "Downloading '$install_script_url'"
@@ -328,6 +349,9 @@ function GetDotNetInstallScript {
ExitWithExitCode $exit_code
}
fi
+
+ # Create timestamp file to track download time in seconds from epoch
+ date +%s > "$timestamp_file"
fi
# return value
_GetDotNetInstallScript="$install_script"
diff --git a/global.json b/global.json
index f217911c032..b621b654c4f 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"tools": {
- "dotnet": "10.0.100-preview.7.25322.101",
+ "dotnet": "10.0.100-preview.7.25372.107",
"runtimes": {
"aspnetcore": [
"$(MicrosoftAspNetCoreApp80Version)",
@@ -26,7 +26,7 @@
},
"msbuild-sdks": {
"Microsoft.Build.NoTargets": "3.7.0",
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25377.103",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25377.103"
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25409.103",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25409.103"
}
}