Skip to content

Commit 9636262

Browse files
authored
[wasm] Fix "bump-chrome-pr.env" update. (#98480)
* Fix "bump-chrome-pr.env" update. * Fix: do not overwrite the .env file (emptying it) when there was no update.
1 parent 72c488e commit 9636262

File tree

2 files changed

+32
-8
lines changed

2 files changed

+32
-8
lines changed

eng/testing/bump-chrome-version.proj

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<UsingTask AssemblyFile="$(WasmBuildTasksAssemblyPath)" TaskName="Microsoft.WebAssembly.Build.Tasks.UpdateChromeVersions" />
55
<PropertyGroup>
66
<ChromeVersionsPath>$(RepositoryEngineeringDir)testing\ChromeVersions.props</ChromeVersionsPath>
7+
<EnvVarsForPRPath>$(RepositoryEngineeringDir)testing\bump-chrome-pr.env</EnvVarsForPRPath>
78
</PropertyGroup>
89

910
<Target Name="UpdateChromeVersion">
@@ -13,19 +14,13 @@
1314
Channel="$(ChromeChannel)"
1415
MaxMajorVersionsToCheck="1"
1516
IntermediateOutputPath="$(ArtifactsObjDir)"
16-
ChromeVersionsPath="$(ChromeVersionsPath)">
17+
ChromeVersionsPath="$(ChromeVersionsPath)"
18+
EnvVarsForPRPath="$(EnvVarsForPRPath)">
1719
<Output TaskParameter="VersionsChanged" PropertyName="VersionsChanged" />
1820
</UpdateChromeVersions>
1921

20-
<ItemGroup>
21-
<!-- ensure newline at the end -->
22-
<EnvVarForPR Include="CHROME_LINUX_VER=$(linux_ChromeVersion)" />
23-
<EnvVarForPR Include="CHROME_WIN_VER=$(win_ChromeVersion)" />
24-
</ItemGroup>
25-
2622
<Message Text="No major changes: skipping version props update." Importance="High" Condition="'$(VersionsChanged)' != 'true'"/>
2723
<Message Text="Version props got updated" Importance="High" Condition="'$(VersionsChanged)' == 'true'"/>
28-
2924
</Target>
3025

3126
<Import Project="..\..\Directory.Build.targets" />

src/tasks/WasmBuildTasks/UpdateChromeVersions.cs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ public partial class UpdateChromeVersions : MBU.Task
4444
[Required, NotNull]
4545
public string ChromeVersionsPath { get; set; } = string.Empty;
4646

47+
[Required, NotNull]
48+
public string EnvVarsForPRPath { get; set; } = string.Empty;
49+
4750
public int MaxMajorVersionsToCheck { get; set; } = 2;
4851

4952
// start at the branch position found in all.json, and try to
@@ -70,15 +73,21 @@ private async Task<bool> ExecuteInternalAsync()
7073
XmlDocument chromeVersionsXmlDoc = new XmlDocument();
7174
chromeVersionsXmlDoc.Load(ChromeVersionsPath);
7275
var osInfo = OSIdentifiers.Zip(OSPrefixes, (num, str) => new { Identifier = num, Prefix = str });
76+
List<ChromeVersionSpec> versions = new();
7377
foreach (var info in osInfo)
7478
{
7579
(ChromeVersionSpec version, string baseUrl) = await FindVersionFromChromiumDash(info.Prefix, info.Identifier).ConfigureAwait(false);
80+
versions.Add(version);
7681
bool hasMajorChanges = AreVersionsChanged(chromeVersionsXmlDoc, version, baseUrl);
7782
if (hasMajorChanges)
7883
{
7984
VersionsChanged = UpdateChromeVersionsFile(chromeVersionsXmlDoc, version, baseUrl);
8085
}
8186
}
87+
if (VersionsChanged)
88+
{
89+
UpdateEnvVarsForPRFile(versions);
90+
}
8291
return !Log.HasLoggedErrors;
8392
}
8493
catch (LogAsErrorException laee)
@@ -137,6 +146,26 @@ private bool UpdateChromeVersionsFile(XmlDocument xmlDoc, ChromeVersionSpec vers
137146
return true;
138147
}
139148

149+
private void UpdateEnvVarsForPRFile(List<ChromeVersionSpec> versions)
150+
{
151+
using StreamWriter writer = new StreamWriter(EnvVarsForPRPath);
152+
foreach (var version in versions)
153+
{
154+
if (string.Equals(version.os, "Linux", StringComparison.OrdinalIgnoreCase))
155+
{
156+
writer.WriteLine($"CHROME_LINUX_VER={version.version}");
157+
}
158+
else if (string.Equals(version.os, "Windows", StringComparison.OrdinalIgnoreCase))
159+
{
160+
writer.WriteLine($"CHROME_WIN_VER={version.version}");
161+
}
162+
else
163+
{
164+
throw new Exception($"UpdateEnvVarsForPRFile task was used with unknown OS: {version.os}");
165+
}
166+
}
167+
}
168+
140169
private static void UpdateNodeValue(XmlDocument xmlDoc, string nodeName, string newValue)
141170
{
142171
XmlNode? node = xmlDoc.SelectSingleNode($"/Project/PropertyGroup/{nodeName}");

0 commit comments

Comments
 (0)