@@ -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