Skip to content

Commit 7a36ab7

Browse files
committed
fixup! chore: add GitHub actions
1 parent bc4ae72 commit 7a36ab7

File tree

13 files changed

+151
-43
lines changed

13 files changed

+151
-43
lines changed

.github/workflows/ci.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,6 @@ jobs:
5151
cache-dependency-path: '**/packages.lock.json'
5252
- name: dotnet restore
5353
run: dotnet restore --locked-mode
54-
- name: dotnet build
55-
run: dotnet build
5654
- name: dotnet publish
5755
run: dotnet publish --no-restore --configuration Release --output .\publish
5856
- name: Upload artifact

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ publish/
186186
*.azurePubxml
187187
# Note: Comment the next line if you want to checkin your web deploy settings,
188188
# but database connection strings (with potential passwords) will be unencrypted
189-
*.pubxml
189+
#*.pubxml
190190
*.publishproj
191191

192192
# Microsoft Azure Web App publish settings. Comment the next line if you want to

App/App.csproj

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,38 @@
77
<ApplicationManifest>app.manifest</ApplicationManifest>
88
<Platforms>x86;x64;ARM64</Platforms>
99
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
10+
<PublishProfile>Properties\PublishProfiles\win-$(Platform).pubxml</PublishProfile>
1011
<UseWinUI>true</UseWinUI>
1112
<Nullable>enable</Nullable>
13+
<EnableMsixTooling>true</EnableMsixTooling>
1214
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
1315
</PropertyGroup>
1416

1517
<ItemGroup>
16-
<Manifest Include="$(ApplicationManifest)"/>
18+
<AppxManifest Include="Package.appxmanifest">
19+
<SubType>Designer</SubType>
20+
</AppxManifest>
1721
</ItemGroup>
1822

1923
<ItemGroup>
20-
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0"/>
24+
<Manifest Include="$(ApplicationManifest)" />
25+
</ItemGroup>
26+
27+
<ItemGroup>
28+
<Content Include="Images\SplashScreen.scale-200.png" />
29+
<Content Include="Images\Square150x150Logo.scale-200.png" />
30+
<Content Include="Images\Square44x44Logo.scale-200.png" />
31+
</ItemGroup>
32+
33+
<ItemGroup>
34+
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.0" />
2135
<PackageReference Include="DependencyPropertyGenerator" Version="1.5.0">
2236
<PrivateAssets>all</PrivateAssets>
2337
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2438
</PackageReference>
25-
<PackageReference Include="H.NotifyIcon.WinUI" Version="2.2.0"/>
26-
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742"/>
27-
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.250108002"/>
39+
<PackageReference Include="H.NotifyIcon.WinUI" Version="2.2.0" />
40+
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742" />
41+
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.250108002" />
2842
</ItemGroup>
2943

3044
<ItemGroup>
@@ -39,6 +53,24 @@
3953
</Page>
4054
</ItemGroup>
4155

56+
<!--
57+
Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging
58+
Tools extension to be activated for this project even if the Windows App SDK Nuget
59+
package has not yet been restored.
60+
-->
61+
<ItemGroup Condition="'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
62+
<ProjectCapability Include="Msix" />
63+
</ItemGroup>
64+
65+
<!--
66+
Defining the "HasPackageAndPublishMenuAddedByProject" property here allows the Solution
67+
Explorer "Package and Publish" context menu entry to be enabled for this project even if
68+
the Windows App SDK Nuget package has not yet been restored.
69+
-->
70+
<PropertyGroup Condition="'$(DisableHasPackageAndPublishMenuAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
71+
<HasPackageAndPublishMenu>true</HasPackageAndPublishMenu>
72+
</PropertyGroup>
73+
4274
<!-- Publish Properties -->
4375
<PropertyGroup>
4476
<PublishReadyToRun Condition="'$(Configuration)' == 'Debug'">False</PublishReadyToRun>

App/Package.appxmanifest

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
3+
<Package
4+
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
5+
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
6+
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
7+
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
8+
IgnorableNamespaces="uap rescap">
9+
10+
<Identity
11+
Name="925b49fc-4648-4967-b4e6-b5473061ee62"
12+
Publisher="CN=dean"
13+
Version="1.0.0.0"/>
14+
15+
<mp:PhoneIdentity PhoneProductId="925b49fc-4648-4967-b4e6-b5473061ee62"
16+
PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
17+
18+
<Properties>
19+
<DisplayName>Coder Desktop (Package)</DisplayName>
20+
<PublisherDisplayName>dean</PublisherDisplayName>
21+
<Logo>Images\StoreLogo.png</Logo>
22+
</Properties>
23+
24+
<Dependencies>
25+
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0"/>
26+
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0"/>
27+
</Dependencies>
28+
29+
<Resources>
30+
<Resource Language="x-generate"/>
31+
</Resources>
32+
33+
<Applications>
34+
<Application Id="App"
35+
Executable="$targetnametoken$.exe"
36+
EntryPoint="$targetentrypoint$">
37+
<uap:VisualElements
38+
DisplayName="Coder Desktop"
39+
Description="Coder"
40+
BackgroundColor="transparent"
41+
Square150x150Logo="Images\Square150x150Logo.png"
42+
Square44x44Logo="Images\Square44x44Logo.png">
43+
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png"/>
44+
<uap:SplashScreen Image="Images\SplashScreen.png"/>
45+
</uap:VisualElements>
46+
</Application>
47+
</Applications>
48+
49+
<Capabilities>
50+
<rescap:Capability Name="runFullTrust"/>
51+
</Capabilities>
52+
</Package>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
https://go.microsoft.com/fwlink/?LinkID=208121.
4+
-->
5+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6+
<PropertyGroup>
7+
<PublishProtocol>FileSystem</PublishProtocol>
8+
<Platform>ARM64</Platform>
9+
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
10+
<PublishDir>bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\</PublishDir>
11+
<SelfContained>true</SelfContained>
12+
<PublishSingleFile>False</PublishSingleFile>
13+
</PropertyGroup>
14+
</Project>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
https://go.microsoft.com/fwlink/?LinkID=208121.
4+
-->
5+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6+
<PropertyGroup>
7+
<PublishProtocol>FileSystem</PublishProtocol>
8+
<Platform>x64</Platform>
9+
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
10+
<PublishDir>bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\</PublishDir>
11+
<SelfContained>true</SelfContained>
12+
<PublishSingleFile>False</PublishSingleFile>
13+
</PropertyGroup>
14+
</Project>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
https://go.microsoft.com/fwlink/?LinkID=208121.
4+
-->
5+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6+
<PropertyGroup>
7+
<PublishProtocol>FileSystem</PublishProtocol>
8+
<Platform>x86</Platform>
9+
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
10+
<PublishDir>bin\$(Configuration)\$(TargetFramework)\$(RuntimeIdentifier)\publish\</PublishDir>
11+
<SelfContained>true</SelfContained>
12+
<PublishSingleFile>False</PublishSingleFile>
13+
</PropertyGroup>
14+
</Project>

App/Properties/launchSettings.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"profiles": {
3+
"App (Package)": {
4+
"commandName": "MsixPackage"
5+
},
6+
"App (Unpackaged)": {
7+
"commandName": "Project"
8+
}
9+
}
10+
}

Coder.Desktop.sln

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 17
4-
VisualStudioVersion = 17.12.35707.178 d17.12
4+
VisualStudioVersion = 17.12.35707.178
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vpn", "Vpn\Vpn.csproj", "{B342F896-C721-4AA5-A0F6-0BFA8EBAFACB}"
77
EndProject
@@ -17,8 +17,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests.Vpn.Service", "Tests.
1717
EndProject
1818
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CoderSdk", "CoderSdk\CoderSdk.csproj", "{A3D2B2B3-A051-46BD-A190-5487A9F24C28}"
1919
EndProject
20-
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "Package", "Package\Package.wapproj", "{C184988D-56E0-451F-B6A1-E5FE0405C80B}"
21-
EndProject
2220
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "App", "App\App.csproj", "{800C7E2D-0D86-4554-9903-B879DA6FA2CE}"
2321
EndProject
2422
Global
@@ -145,46 +143,30 @@ Global
145143
{A3D2B2B3-A051-46BD-A190-5487A9F24C28}.Release|x64.Build.0 = Release|Any CPU
146144
{A3D2B2B3-A051-46BD-A190-5487A9F24C28}.Release|x86.ActiveCfg = Release|Any CPU
147145
{A3D2B2B3-A051-46BD-A190-5487A9F24C28}.Release|x86.Build.0 = Release|Any CPU
148-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|Any CPU.ActiveCfg = Debug|x64
149-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|Any CPU.Build.0 = Debug|x64
150-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|Any CPU.Deploy.0 = Debug|x64
151-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|ARM64.ActiveCfg = Debug|ARM64
152-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|ARM64.Build.0 = Debug|ARM64
153-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|ARM64.Deploy.0 = Debug|ARM64
154-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|x64.ActiveCfg = Debug|x64
155-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|x64.Build.0 = Debug|x64
156-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|x64.Deploy.0 = Debug|x64
157-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|x86.ActiveCfg = Debug|x86
158-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|x86.Build.0 = Debug|x86
159-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Debug|x86.Deploy.0 = Debug|x86
160-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|Any CPU.ActiveCfg = Release|x64
161-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|Any CPU.Build.0 = Release|x64
162-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|Any CPU.Deploy.0 = Release|x64
163-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|ARM64.ActiveCfg = Release|ARM64
164-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|ARM64.Build.0 = Release|ARM64
165-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|ARM64.Deploy.0 = Release|ARM64
166-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|x64.ActiveCfg = Release|x64
167-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|x64.Build.0 = Release|x64
168-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|x64.Deploy.0 = Release|x64
169-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|x86.ActiveCfg = Release|x86
170-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|x86.Build.0 = Release|x86
171-
{C184988D-56E0-451F-B6A1-E5FE0405C80B}.Release|x86.Deploy.0 = Release|x86
172146
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|Any CPU.ActiveCfg = Debug|x64
173147
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|Any CPU.Build.0 = Debug|x64
148+
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|Any CPU.Deploy.0 = Debug|x64
174149
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|ARM64.ActiveCfg = Debug|ARM64
175150
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|ARM64.Build.0 = Debug|ARM64
151+
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|ARM64.Deploy.0 = Debug|ARM64
176152
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|x64.ActiveCfg = Debug|x64
177153
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|x64.Build.0 = Debug|x64
154+
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|x64.Deploy.0 = Debug|x64
178155
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|x86.ActiveCfg = Debug|x86
179156
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|x86.Build.0 = Debug|x86
157+
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Debug|x86.Deploy.0 = Debug|x86
180158
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|Any CPU.ActiveCfg = Release|x64
181159
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|Any CPU.Build.0 = Release|x64
160+
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|Any CPU.Deploy.0 = Release|x64
182161
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|ARM64.ActiveCfg = Release|ARM64
183162
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|ARM64.Build.0 = Release|ARM64
163+
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|ARM64.Deploy.0 = Release|ARM64
184164
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|x64.ActiveCfg = Release|x64
185165
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|x64.Build.0 = Release|x64
166+
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|x64.Deploy.0 = Release|x64
186167
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|x86.ActiveCfg = Release|x86
187168
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|x86.Build.0 = Release|x86
169+
{800C7E2D-0D86-4554-9903-B879DA6FA2CE}.Release|x86.Deploy.0 = Release|x86
188170
EndGlobalSection
189171
GlobalSection(SolutionProperties) = preSolution
190172
HideSolutionNode = FALSE

Tests.Vpn/Utilities/TaskUtilitiesTest.cs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,13 @@ namespace Coder.Desktop.Tests.Vpn.Utilities;
66
public class TaskUtilitiesTest
77
{
88
[Test(Description = "CancellableWhenAll with no tasks should complete immediately")]
9-
[Timeout(30_000)]
109
public void CancellableWhenAll_NoTasks()
1110
{
1211
var task = TaskUtilities.CancellableWhenAll(new CancellationTokenSource());
1312
Assert.That(task.IsCompleted, Is.True);
1413
}
1514

1615
[Test(Description = "CancellableWhenAll with a single task should complete")]
17-
[Timeout(30_000)]
1816
public async Task CancellableWhenAll_SingleTask()
1917
{
2018
var innerTask = new TaskCompletionSource();
@@ -25,7 +23,6 @@ public async Task CancellableWhenAll_SingleTask()
2523
}
2624

2725
[Test(Description = "CancellableWhenAll with a single task that faults should propagate the exception")]
28-
[Timeout(30_000)]
2926
public void CancellableWhenAll_SingleTaskFault()
3027
{
3128
var cts = new CancellationTokenSource();
@@ -38,7 +35,6 @@ public void CancellableWhenAll_SingleTaskFault()
3835
}
3936

4037
[Test(Description = "CancellableWhenAll with a single task that is canceled should propagate the cancellation")]
41-
[Timeout(30_000)]
4238
public void CancellableWhenAll_SingleTaskCanceled()
4339
{
4440
var cts = new CancellationTokenSource();
@@ -51,7 +47,6 @@ public void CancellableWhenAll_SingleTaskCanceled()
5147
}
5248

5349
[Test(Description = "CancellableWhenAll with multiple tasks should complete when all tasks are completed")]
54-
[Timeout(30_000)]
5550
public async Task CancellableWhenAll_MultipleTasks()
5651
{
5752
var cts = new CancellationTokenSource();
@@ -74,7 +69,6 @@ public async Task CancellableWhenAll_MultipleTasks()
7469
}
7570

7671
[Test(Description = "CancellableWhenAll with multiple tasks that fault should propagate the first exception only")]
77-
[Timeout(30_000)]
7872
public async Task CancellableWhenAll_MultipleTasksFault()
7973
{
8074
var cts = new CancellationTokenSource();
@@ -95,7 +89,6 @@ public async Task CancellableWhenAll_MultipleTasksFault()
9589
}
9690

9791
[Test(Description = "CancellableWhenAll with an exception and a cancellation should propagate the first thing")]
98-
[Timeout(30_000)]
9992
public async Task CancellableWhenAll_MultipleTasksFaultAndCanceled()
10093
{
10194
var cts = new CancellationTokenSource();
@@ -118,7 +111,6 @@ public async Task CancellableWhenAll_MultipleTasksFaultAndCanceled()
118111
}
119112

120113
[Test(Description = "CancellableWhenAll with a cancellation and an exception should propagate the first thing")]
121-
[Timeout(30_000)]
122114
public async Task CancellableWhenAll_MultipleTasksCanceledAndFault()
123115
{
124116
var cts = new CancellationTokenSource();

0 commit comments

Comments
 (0)