Skip to content

Commit c512b3c

Browse files
authored
Merge pull request #828 from aws/dev
Merging dev -> main for #823
2 parents 645648d + 47f7c25 commit c512b3c

File tree

5 files changed

+118
-0
lines changed

5 files changed

+118
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"RecipeId": "AspNetAppAppRunner",
3+
"Settings": {
4+
"ServiceName": "apprunner-canary-service",
5+
"DockerExecutionDirectory": "."
6+
}
7+
}
8+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"RecipeId": "AspNetAppEcsFargate",
3+
"Settings":{
4+
"DockerExecutionDirectory": "."
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"RecipeId": "ConsoleAppEcsFargateService",
3+
"settings": {
4+
"DockerExecutionDirectory": "."
5+
}
6+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"RecipeId": "PushContainerImageEcr",
3+
"settings": {
4+
"ImageTag": "latest",
5+
"ECRRepositoryName": "deploytool-canary",
6+
"DockerExecutionDirectory": "."
7+
}
8+
}

buildtools/smoketests.proj

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
<Project ToolsVersion="Current" DefaultTargets="smoke-tests" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<PropertyGroup>
3+
<RootPath Condition="'$(RootPath)'==''">$(MSBuildProjectDirectory)</RootPath>
4+
5+
<!-- We need to skip recipes that use Docker when running on Windows CodeBuild -->
6+
<ShouldRunDockerTests>false</ShouldRunDockerTests>
7+
<ShouldRunDockerTests Condition="'$(OS)' != 'Windows_NT' OR '$(CODEBUILD_BUILD_ID)' == ''">true</ShouldRunDockerTests>
8+
9+
<!-- Generate a suffix for CloudFormation stack names, in case multiple smoke tests are running at once -->
10+
<SafeOperatingSystem>$(OS)</SafeOperatingSystem>
11+
<SafeOperatingSystem Condition="'$(OS)' == 'Windows_NT'">Windows</SafeOperatingSystem> <!-- need to remove _ for CloudFormation-->
12+
<Suffix>$(SafeOperatingSystem)-$([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds())</Suffix>
13+
14+
<BlazorAppName>CanaryBlazorApp-$(Suffix)</BlazorAppName>
15+
<ECSFargateAppName>CanaryECSFargateApp-$(Suffix)</ECSFargateAppName>
16+
<AppRunnerAppName>CanaryAppRunnerApp-$(Suffix)</AppRunnerAppName>
17+
<BeanstalkWindowsAppName>CanaryEBWinApp-$(Suffix)</BeanstalkWindowsAppName>
18+
<BeanstalkLinuxAppName>CanaryEBLinuxApp-$(Suffix)</BeanstalkLinuxAppName>
19+
<PushImageECRAppName>CanaryEBWinApp-$(Suffix)</PushImageECRAppName>
20+
<BeanstalkLinuxAppName>CanaryEBLinuxApp-$(Suffix)</BeanstalkLinuxAppName>
21+
<ECSServiceAppName>CanaryECSServiceApp-$(Suffix)</ECSServiceAppName>
22+
</PropertyGroup>
23+
24+
<Target Name="smoke-tests" DependsOnTargets="run-blazor;run-fargate;run-apprunner;run-beanstalk-windows;run-beanstalk-linux;run-container-ecr;run-ecs-service" />
25+
26+
<Target Name="initialize">
27+
<!-- Install the latest version of the deploy tool-->
28+
<Exec Command="dotnet tool install -g aws.deploy.tools" />
29+
</Target>
30+
31+
<Target Name="run-blazor" DependsOnTargets="initialize">
32+
<Exec WorkingDirectory="../testapps/BlazorWasm60" Command="dotnet aws deploy --apply apply-settings.json --application-name $(BlazorAppName) --profile test-runner --silent" />
33+
<OnError ExecuteTargets="cleanup-blazor" />
34+
</Target>
35+
36+
<Target Name="cleanup-blazor" AfterTargets="run-blazor">
37+
<Exec Command="dotnet aws delete-deployment $(BlazorAppName) --profile test-runner --silent" />
38+
</Target>
39+
40+
<Target Name="run-fargate" Condition="'$(ShouldRunDockerTests)' == 'true'" DependsOnTargets="initialize">
41+
<Exec WorkingDirectory="../testapps/WebAppWithDockerFile" Command="dotnet aws deploy --apply ../../buildtools/canarysettings/ECSFargateCanary.json --application-name $(ECSFargateAppName) --profile test-runner --silent" />
42+
<OnError ExecuteTargets="cleanup-fargate" />
43+
</Target>
44+
45+
<Target Name="cleanup-fargate" Condition="'$(ShouldRunDockerTests)' == 'true'" AfterTargets="run-fargate">
46+
<Exec Command="dotnet aws delete-deployment $(ECSFargateAppName) --profile test-runner --silent" />
47+
</Target>
48+
49+
<Target Name="run-apprunner" Condition="'$(ShouldRunDockerTests)' == 'true'" DependsOnTargets="initialize">
50+
<Exec WorkingDirectory="../testapps/WebAppWithDockerFile" Command="dotnet aws deploy --apply ../../buildtools/canarysettings/AppRunnerCanary.json --application-name $(AppRunnerAppName) --profile test-runner --silent" />
51+
<OnError ExecuteTargets="cleanup-apprunner" />
52+
</Target>
53+
54+
<Target Name="cleanup-apprunner" Condition="'$(ShouldRunDockerTests)' == 'true'" AfterTargets="run-apprunner">
55+
<Exec Command="dotnet aws delete-deployment $(AppRunnerAppName) --profile test-runner --silent" />
56+
</Target>
57+
58+
<Target Name="run-beanstalk-windows" DependsOnTargets="initialize">
59+
<Exec WorkingDirectory="../testapps/WebAppNoDockerFile" Command="dotnet aws deploy --apply ElasticBeanStalkConfigFile-Windows.json --application-name $(BeanstalkWindowsAppName) --profile test-runner --silent" />
60+
<OnError ExecuteTargets="cleanup-beanstalk-windows" />
61+
</Target>
62+
63+
<Target Name="cleanup-beanstalk-windows" AfterTargets="run-beanstalk-windows">
64+
<Exec Command="dotnet aws delete-deployment $(BeanstalkWindowsAppName) --profile test-runner --silent" />
65+
</Target>
66+
67+
<Target Name="run-beanstalk-linux" DependsOnTargets="initialize">
68+
<Exec WorkingDirectory="../testapps/WebAppNoDockerFile" Command="dotnet aws deploy --apply ElasticBeanStalkConfigFile-Linux.json --application-name $(BeanstalkLinuxAppName) --profile test-runner --silent" />
69+
<OnError ExecuteTargets="cleanup-beanstalk-linux" />
70+
</Target>
71+
72+
<Target Name="cleanup-beanstalk-linux" AfterTargets="run-beanstalk-linux">
73+
<Exec Command="dotnet aws delete-deployment $(BeanstalkLinuxAppName) --profile test-runner --silent" />
74+
</Target>
75+
76+
<Target Name="run-container-ecr" Condition="'$(ShouldRunDockerTests)' == 'true'" DependsOnTargets="initialize">
77+
<Exec WorkingDirectory="../testapps/ConsoleAppTask" Command="dotnet aws deploy --apply ../../buildtools/canarysettings/PushContainerImageCanary.json --profile test-runner --silent" />
78+
<!-- This one doesn't have a cleanup step since it doesn't use CloudFormation -->
79+
</Target>
80+
81+
<Target Name="run-ecs-service" Condition="'$(ShouldRunDockerTests)' == 'true'" DependsOnTargets="">
82+
<Exec WorkingDirectory="../testapps/ConsoleAppService" Command="dotnet aws deploy --apply ../../buildtools/canarysettings/ECSServiceCanary.json --application-name $(ECSServiceAppName) --profile test-runner --silent" />
83+
<OnError ExecuteTargets="cleanup-ecs-service" />
84+
</Target>
85+
86+
<Target Name="cleanup-ecs-service" Condition="'$(ShouldRunDockerTests)' == 'true'" AfterTargets="run-ecs-service">
87+
<Exec Command="dotnet aws delete-deployment $(ECSServiceAppName) --profile test-runner --silent" />
88+
</Target>
89+
90+
</Project>

0 commit comments

Comments
 (0)