@@ -35,8 +35,6 @@ public class BuildContext : FrostingContext
35
35
public string ReleaseArtifactsDownloadDir { get ; }
36
36
public string UnzippedArtifactsDir { get ; }
37
37
38
- public UpResult ? PulumiUpResult { get ; set ; }
39
-
40
38
public BuildContext ( ICakeContext context )
41
39
: base ( context )
42
40
{
@@ -141,9 +139,9 @@ public override async Task RunAsync(BuildContext context)
141
139
142
140
context . Log . Information ( $ "Pulumi Up starting...") ;
143
141
144
- context . PulumiUpResult = await pulumiStack . UpAsync ( ) ;
142
+ var result = await pulumiStack . UpAsync ( ) ;
145
143
context . Log . Information ( $ "Pulumi Up completed") ;
146
- Utilities . LogPulumiResult ( context , context . PulumiUpResult ) ;
144
+ Utilities . LogPulumiResult ( context , result ) ;
147
145
}
148
146
}
149
147
@@ -153,7 +151,7 @@ public sealed class RunSeleniumTestsTask : AsyncFrostingTask<BuildContext>
153
151
{
154
152
public override async Task RunAsync ( BuildContext context )
155
153
{
156
- WriteConfig ( context ) ;
154
+ await WriteConfigAsync ( context ) ;
157
155
await RunTestsAsync ( context ) ;
158
156
}
159
157
@@ -173,22 +171,25 @@ private async Task RunTestsAsync(BuildContext context)
173
171
await Task . CompletedTask ;
174
172
}
175
173
176
- private void WriteConfig ( BuildContext context )
174
+ private async ValueTask WriteConfigAsync ( BuildContext context )
177
175
{
178
176
var fullStackName = $ "ProgrammerAL/{ context . PulumiStackName } ";
179
177
180
178
context . Log . Information ( $ "Loading stack { fullStackName } from path '{ context . PulumiPath } ' to get outputs") ;
181
179
182
- var stackOutputs = context . PulumiUpResult ! . Outputs ;
180
+ var stackArgs = new LocalProgramArgs ( fullStackName , context . PulumiPath ) ;
181
+ var pulumiStack = await LocalWorkspace . SelectStackAsync ( stackArgs ) ;
182
+ var stackOutputs = await pulumiStack . GetOutputsAsync ( ) ;
183
183
var staticSiteEndpoint = stackOutputs [ "StaticSiteHttpsEndpoint" ] . Value . ToString ( ) ?? throw new Exception ( $ "Pulumi output 'StaticSiteHttpsEndpoint' is null for stack '{ fullStackName } '") ;
184
184
185
+
185
186
// Write the config file
186
187
var filePath = $ "{ context . PlaywrightTestsPath } /.runsettings";
187
188
var runsettingsXml = XElement . Load ( filePath ) ;
188
- var baseUrlElement = runsettingsXml . Element ( "RunSettings" )
189
- ! . Element ( "TestRunParameters" )
189
+ var baseUrlElement = runsettingsXml
190
+ . Element ( "TestRunParameters" )
190
191
! . Elements ( "Parameter" )
191
- . Single ( x => x . Attribute ( "baseUrl" ) != null ) ;
192
+ . Single ( x => string . Equals ( x . Attribute ( "name" ) ? . Value , "baseUrl" ) ) ;
192
193
baseUrlElement . Value = staticSiteEndpoint ;
193
194
194
195
File . WriteAllText ( filePath , runsettingsXml . ToString ( ) ) ;
0 commit comments