diff --git a/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-03.md b/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-03.md
new file mode 100644
index 00000000000..7eaed69ac1f
--- /dev/null
+++ b/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-03.md
@@ -0,0 +1,75 @@
+# 03 May 2023 Rollout Summaries
+
+## arcade-services
+
+| Metric | Value | Target | Score |
+|:--------------------------------:|:--------:|:--------:|:---------:|
+| Time to Rollout | 02:03:56 | 06:00:00 | 0 |
+| Critical/blocking issues created | 0 | 0 | 0 |
+| Hotfixes | 0 | 0 | 0 |
+| Rollbacks | 0 | 0 | 0 |
+| Service downtime | 00:00:00 | 00:00:00 | 0 |
+| Failed to rollout | FALSE | FALSE | 0 |
+| Total | | | **0** |
+
+
+## dotnet-helix-service
+
+| Metric | Value | Target | Score |
+|:--------------------------------:|:--------:|:--------:|:---------:|
+| Time to Rollout | 03:59:25 | 06:00:00 | 0 |
+| Critical/blocking issues created | 0 | 0 | 0 |
+| Hotfixes | 0 | 0 | 0 |
+| Rollbacks | 1 | 0 | 10 |
+| Service downtime | 00:00:00 | 00:00:00 | 0 |
+| Failed to rollout | TRUE | FALSE | 50 |
+| Total | | | **60** |
+
+
+## dotnet-helix-machines
+
+| Metric | Value | Target | Score |
+|:--------------------------------:|:--------:|:--------:|:---------:|
+| Time to Rollout | 04:21:50 | 06:00:00 | 0 |
+| Critical/blocking issues created | 0 | 0 | 0 |
+| Hotfixes | 0 | 0 | 0 |
+| Rollbacks | 0 | 0 | 0 |
+| Service downtime | 00:00:00 | 00:00:00 | 0 |
+| Failed to rollout | FALSE | FALSE | 0 |
+| Total | | | **0** |
+
+
+# Itemized Scorecard
+
+## arcade-services
+
+| Metric | [20230503.3](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2172754) |
+|:-----:|:-----:|
+| Time to Rollout | 02:03:56 |
+| Critical/blocking issues created | 0 |
+| Hotfixes | 0 |
+| Rollbacks | 0 |
+| Service downtime | 00:00:00 |
+
+
+## dotnet-helix-service
+
+| Metric | [2023050301](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2172779) | [2023050302](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2173059) |
+|:-----:|:-----:|:-----:|
+| Time to Rollout | 02:03:52 | 01:55:33 |
+| Critical/blocking issues created | 0 | 0 |
+| Hotfixes | 0 | 0 |
+| Rollbacks | 0 | 1 |
+| Service downtime | 00:00:00 | 00:00:00 |
+
+
+## dotnet-helix-machines
+
+| Metric | [20230503.02](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2172777) |
+|:-----:|:-----:|
+| Time to Rollout | 04:21:50 |
+| Critical/blocking issues created | 0 |
+| Hotfixes | 0 |
+| Rollbacks | 0 |
+| Service downtime | 00:00:00 |
+
diff --git a/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-10.md b/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-10.md
index 69f98f7d5f5..dda74b6b9ba 100644
--- a/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-10.md
+++ b/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-10.md
@@ -4,24 +4,24 @@
| Metric | Value | Target | Score |
|:--------------------------------:|:--------:|:--------:|:---------:|
-| Time to Rollout | 23:27:15 | 06:00:00 | 50 |
+| Time to Rollout | 1.01:34:17 | 06:00:00 | 50 |
| Critical/blocking issues created | 0 | 0 | 0 |
| Hotfixes | 0 | 0 | 0 |
| Rollbacks | 0 | 0 | 0 |
| Service downtime | 00:00:00 | 00:00:00 | 0 |
-| Failed to rollout | TRUE | FALSE | 50 |
-| Total | | | **100** |
+| Failed to rollout | FALSE | FALSE | 0 |
+| Total | | | **50** |
# Itemized Scorecard
## arcade-services
-| Metric | [20230510.1](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2177776) | [20230510.2](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2177932) | [20230510.4](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2178116) |
-|:-----:|:-----:|:-----:|:-----:|
-| Time to Rollout | 01:44:04 | 03:50:21 | 17:52:50 |
-| Critical/blocking issues created | 0 | 0 | 0 |
-| Hotfixes | 0 | 0 | 0 |
-| Rollbacks | 0 | 0 | 0 |
-| Service downtime | 00:00:00 | 00:00:00 | 00:00:00 |
+| Metric | [20230510.1](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2177776) | [20230510.2](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2177932) | [20230510.4](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2178116) | [20230517.1](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2182427) |
+|:-----:|:-----:|:-----:|:-----:|:-----:|
+| Time to Rollout | 01:44:04 | 03:50:21 | 17:52:50 | 02:07:02 |
+| Critical/blocking issues created | 0 | 0 | 0 | 0 |
+| Hotfixes | 0 | 0 | 0 | 0 |
+| Rollbacks | 0 | 0 | 0 | 0 |
+| Service downtime | 00:00:00 | 00:00:00 | 00:00:00 | 00:00:00 |
diff --git a/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-17.md b/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-17.md
new file mode 100644
index 00000000000..891ed529f7d
--- /dev/null
+++ b/Documentation/TeamProcess/Rollout-Scorecards/Scorecard_2023-05-17.md
@@ -0,0 +1,51 @@
+# 17 May 2023 Rollout Summaries
+
+## dotnet-helix-service
+
+| Metric | Value | Target | Score |
+|:--------------------------------:|:--------:|:--------:|:---------:|
+| Time to Rollout | 01:55:14 | 06:00:00 | 0 |
+| Critical/blocking issues created | 0 | 0 | 0 |
+| Hotfixes | 0 | 0 | 0 |
+| Rollbacks | 0 | 0 | 0 |
+| Service downtime | 00:00:00 | 00:00:00 | 0 |
+| Failed to rollout | FALSE | FALSE | 0 |
+| Total | | | **0** |
+
+
+## dotnet-helix-machines
+
+| Metric | Value | Target | Score |
+|:--------------------------------:|:--------:|:--------:|:---------:|
+| Time to Rollout | 04:12:56 | 06:00:00 | 0 |
+| Critical/blocking issues created | 0 | 0 | 0 |
+| Hotfixes | 0 | 0 | 0 |
+| Rollbacks | 0 | 0 | 0 |
+| Service downtime | 00:00:00 | 00:00:00 | 0 |
+| Failed to rollout | FALSE | FALSE | 0 |
+| Total | | | **0** |
+
+
+# Itemized Scorecard
+
+## dotnet-helix-service
+
+| Metric | [2023051701](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2182422) |
+|:-----:|:-----:|
+| Time to Rollout | 01:55:14 |
+| Critical/blocking issues created | 0 |
+| Hotfixes | 0 |
+| Rollbacks | 0 |
+| Service downtime | 00:00:00 |
+
+
+## dotnet-helix-machines
+
+| Metric | [20230517.01](https://dev.azure.com/dnceng/7ea9116e-9fac-403d-b258-b31fcf1bb293/_build/results?buildId=2182188) |
+|:-----:|:-----:|
+| Time to Rollout | 04:12:56 |
+| Critical/blocking issues created | 0 |
+| Hotfixes | 0 |
+| Rollbacks | 0 |
+| Service downtime | 00:00:00 |
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 2be0162a5cc..6423f316a19 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -15,30 +15,30 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-symuploader
62ceb439e80bf0814d0ffa17f022d4624ea4aa6c
-
+
https://github.com/dotnet/templating
- 9982bb9be5c0d2ceca1776b8eb12392f7d3bf613
+ 812fc96b2953dfbb5cf46ee60cf47f4e287c8179
-
+
https://github.com/dotnet/arcade
- 1205248d5cc014b68c2fb8cfbf091a77aa433453
+ c27937680063bcf06804c9fd0466d26a0f9ea4e6
-
+
https://github.com/dotnet/arcade
- 1205248d5cc014b68c2fb8cfbf091a77aa433453
+ c27937680063bcf06804c9fd0466d26a0f9ea4e6
-
+
https://github.com/dotnet/arcade
- 1205248d5cc014b68c2fb8cfbf091a77aa433453
+ c27937680063bcf06804c9fd0466d26a0f9ea4e6
-
+
https://github.com/dotnet/arcade
- 1205248d5cc014b68c2fb8cfbf091a77aa433453
+ c27937680063bcf06804c9fd0466d26a0f9ea4e6
-
+
https://github.com/dotnet/arcade
- 1205248d5cc014b68c2fb8cfbf091a77aa433453
+ c27937680063bcf06804c9fd0466d26a0f9ea4e6
https://github.com/dotnet/arcade-services
@@ -48,9 +48,9 @@
https://github.com/dotnet/arcade-services
a5f3ed9d5f560555ff6d26b286acdcfbb7ce3b14
-
+
https://github.com/dotnet/xharness
- 230501dc45d8c96e995ceed1189852eb0ee08693
+ 98cbe592ee7494c5813d0e5173bc7a160fbcce70
https://github.com/dotnet/roslyn
@@ -60,14 +60,14 @@
https://github.com/dotnet/linker
3efd231da430baa0fd670e278f6b5c3e62834bde
-
+
https://github.com/dotnet/sourcelink
- 54eb3b811c57f5e94617d31a102fc9cb664ccdd5
+ 4d2c8bf58e8cb7900ec2d9077c155572e2d3cd88
-
+
https://github.com/dotnet/sourcelink
- 54eb3b811c57f5e94617d31a102fc9cb664ccdd5
+ 4d2c8bf58e8cb7900ec2d9077c155572e2d3cd88
https://github.com/dotnet/symreader-converter
@@ -77,9 +77,9 @@
https://github.com/dotnet/symreader-converter
c5ba7c88f92e2dde156c324a8c8edc04d9fa4fe0
-
+
https://github.com/dotnet/xliff-tasks
- d033e96327903618482de22f76c971c7fe91e8f4
+ 4234ffac87e305da80597cb46dc0d4a87fc4f7c2
@@ -94,14 +94,14 @@
547c506abe05e510bd43330fc8f6d4c5961e9223
-
+
https://github.com/dotnet/source-build-reference-packages
- b0f656e394f8e98f48f11612ac997750bb85ff6c
+ b34c6434a7b422a79e104ef7f24cee0d6ddba3c5
-
+
https://github.com/dotnet/source-build-externals
- 7f9ae67f86a5adc1d9bf2f22f4bf3ec05b6d7b68
+ 06913fc4c3fcb0065ee390d135fb766870d2c38a
diff --git a/eng/Versions.props b/eng/Versions.props
index f80fc2364df..d876e448490 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -8,9 +8,9 @@
- 8.0.0-beta.23308.2
- 8.0.0-beta.23308.2
- 8.0.0-beta.23308.2
+ 8.0.0-beta.23314.1
+ 8.0.0-beta.23314.1
+ 8.0.0-beta.23314.1
1.1.0-beta.21553.1
1.1.0-beta.22076.4
@@ -63,18 +63,18 @@
8.0.100-preview.3.23178.3
- 8.0.0-beta.23252.2
- 8.0.0-beta.23252.2
+ 8.0.0-beta.23314.2
+ 8.0.0-beta.23314.2
1.1.0-beta2-19575-01
- 8.0.100-preview.6.23305.5
+ 8.0.100-preview.6.23311.1
17.5.0
- 8.0.0-prerelease.23279.1
+ 8.0.0-prerelease.23307.1
- 1.0.0-beta.23305.1
+ 1.0.0-beta.23312.2
1.31.0
12.16.0
diff --git a/eng/common/dotnet-install.sh b/eng/common/dotnet-install.sh
index abd045a3247..7e69e3a9e24 100755
--- a/eng/common/dotnet-install.sh
+++ b/eng/common/dotnet-install.sh
@@ -54,6 +54,10 @@ cpuname=$(uname -m)
case $cpuname in
arm64|aarch64)
buildarch=arm64
+ if [ "$(getconf LONG_BIT)" -lt 64 ]; then
+ # This is 32-bit OS running on 64-bit CPU (for example Raspberry Pi OS)
+ buildarch=arm
+ fi
;;
loongarch64)
buildarch=loongarch64
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index ffe0b4e2dfc..c9eced9f7df 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -379,7 +379,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
}
# Minimum VS version to require.
- $vsMinVersionReqdStr = '16.8'
+ $vsMinVersionReqdStr = '17.6'
$vsMinVersionReqd = [Version]::new($vsMinVersionReqdStr)
# If the version of msbuild is going to be xcopied,
diff --git a/global.json b/global.json
index 6a41f5a086d..a0d8aab4de5 100644
--- a/global.json
+++ b/global.json
@@ -1,10 +1,10 @@
{
"tools": {
- "dotnet": "8.0.100-preview.4.23260.5"
+ "dotnet": "8.0.100-preview.5.23303.2"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23308.2",
- "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23308.2",
+ "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23314.1",
+ "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23314.1",
"Microsoft.Build.NoTargets": "3.7.0"
}
}
diff --git a/src/Microsoft.DotNet.Build.Tasks.Installers/build/deb-package-tool/scripts/config_template_generator.py b/src/Microsoft.DotNet.Build.Tasks.Installers/build/deb-package-tool/scripts/config_template_generator.py
index 5fc9343f504..6b9843ecd38 100644
--- a/src/Microsoft.DotNet.Build.Tasks.Installers/build/deb-package-tool/scripts/config_template_generator.py
+++ b/src/Microsoft.DotNet.Build.Tasks.Installers/build/deb-package-tool/scripts/config_template_generator.py
@@ -69,8 +69,10 @@ def generate_rules(config_data, template_dir):
ignored_libraries = config_data.get("debian_ignored_libraries", None)
override_text = ""
- if ignored_dependency_packages != None:
+ if ignored_dependency_packages != None or ignored_libraries != None:
override_text = "override_dh_shlibdeps:\n\tdh_shlibdeps"
+
+ if ignored_dependency_packages != None:
override_text += " --dpkg-shlibdeps-params=\""
for package in ignored_dependency_packages:
@@ -80,7 +82,7 @@ def generate_rules(config_data, template_dir):
if ignored_libraries != None:
for library in ignored_libraries:
- override_text += "-X{0} ".format(library)
+ override_text += " -X{0} ".format(library)
return template.format(overrides=override_text)
diff --git a/src/Microsoft.DotNet.Helix/Sdk/tools/dotnet-cli/DotNetCli.props b/src/Microsoft.DotNet.Helix/Sdk/tools/dotnet-cli/DotNetCli.props
index 6ce028b4b67..d51677d46db 100644
--- a/src/Microsoft.DotNet.Helix/Sdk/tools/dotnet-cli/DotNetCli.props
+++ b/src/Microsoft.DotNet.Helix/Sdk/tools/dotnet-cli/DotNetCli.props
@@ -2,7 +2,7 @@
false
- 8.0.0-preview.4.23260.4
+ 8.0.0-preview.5.23302.2
runtime
$(BundledNETCoreAppPackageVersion)
diff --git a/src/Microsoft.DotNet.SignTool/src/BatchSignUtil.cs b/src/Microsoft.DotNet.SignTool/src/BatchSignUtil.cs
index d1c78ba6689..8b00b9fe55e 100644
--- a/src/Microsoft.DotNet.SignTool/src/BatchSignUtil.cs
+++ b/src/Microsoft.DotNet.SignTool/src/BatchSignUtil.cs
@@ -214,32 +214,76 @@ void repackGroup(IEnumerable files, out int repackCount)
var repackList = files.Where(w => toRepackSet.Contains(w.FullPath)).ToList();
repackCount = repackList.Count();
- if(repackCount == 0)
+
+ if (repackCount == 0)
{
return;
}
_log.LogMessage(MessageImportance.High, $"Repacking {repackCount} containers.");
+ const int repackParallelism = 16;
ParallelOptions parallelOptions = new ParallelOptions();
- parallelOptions.MaxDegreeOfParallelism = 16;
- Parallel.ForEach(repackList, parallelOptions, file =>
+ parallelOptions.MaxDegreeOfParallelism = repackParallelism;
+
+ // It's possible that there are large containers within this set that, if
+ // repacked in parallel, could cause OOMs. To avoid this, we set a limit on the size of containers
+ // that we will repack in parallel based on the parallelism degree and a 2GB limit.
+ // Repack these in serial later.
+ var largeRepackList = new List();
+ var smallRepackList = new List();
+ const long parallelRepackLimitInBytes = (2 * 1024 / repackParallelism) * 1024 * 1024;
+
+ foreach (var file in repackList)
{
- if (file.IsZipContainer())
+ FileInfo fileInfo = new FileInfo(file.FullPath);
+ if (fileInfo.Length > parallelRepackLimitInBytes)
{
- _log.LogMessage($"Repacking container: '{file.FileName}'");
- _batchData.ZipDataMap[file.FileContentKey].Repack(_log);
- }
- else if (file.IsWixContainer())
- {
- _log.LogMessage($"Packing wix container: '{file.FileName}'");
- _batchData.ZipDataMap[file.FileContentKey].Repack(_log, _signTool.TempDir, _signTool.WixToolsPath);
+ largeRepackList.Add(file);
}
else
{
- _log.LogError($"Don't know how to repack file '{file.FullPath}'");
+ smallRepackList.Add(file);
}
+ }
+
+ _log.LogMessage(MessageImportance.High, $"Repacking {smallRepackList.Count} containers in parallel.");
+
+ Parallel.ForEach(smallRepackList, parallelOptions, file =>
+ {
+ repackContainer(file);
toRepackSet.Remove(file.FullPath);
});
+
+ if (largeRepackList.Count == 0)
+ {
+ return;
+ }
+
+ _log.LogMessage(MessageImportance.High, $"Repacking {largeRepackList.Count} large containers in serial.");
+
+ foreach (var file in largeRepackList)
+ {
+ repackContainer(file);
+ toRepackSet.Remove(file.FullPath);
+ }
+ }
+
+ void repackContainer(FileSignInfo file)
+ {
+ if (file.IsZipContainer())
+ {
+ _log.LogMessage($"Repacking container: '{file.FileName}'");
+ _batchData.ZipDataMap[file.FileContentKey].Repack(_log);
+ }
+ else if (file.IsWixContainer())
+ {
+ _log.LogMessage($"Packing wix container: '{file.FileName}'");
+ _batchData.ZipDataMap[file.FileContentKey].Repack(_log, _signTool.TempDir, _signTool.WixToolsPath);
+ }
+ else
+ {
+ _log.LogError($"Don't know how to repack file '{file.FullPath}'");
+ }
}
// Is this file ready to be signed or repackaged? That is are all of the items that it depends on already
diff --git a/src/Microsoft.DotNet.SignTool/src/ZipData.cs b/src/Microsoft.DotNet.SignTool/src/ZipData.cs
index a798d97076e..20bfa532d5e 100644
--- a/src/Microsoft.DotNet.SignTool/src/ZipData.cs
+++ b/src/Microsoft.DotNet.SignTool/src/ZipData.cs
@@ -113,7 +113,8 @@ string getPartRelativeFileName(PackagePart part)
///
private void RepackRawZip(TaskLoggingHelper log)
{
- using (var archive = new ZipArchive(File.Open(FileSignInfo.FullPath, FileMode.Open), ZipArchiveMode.Update))
+ using (var zipStream = File.Open(FileSignInfo.FullPath, FileMode.Open))
+ using (var archive = new ZipArchive(zipStream, ZipArchiveMode.Update))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{