@@ -16,14 +16,16 @@ permissions:
1616
1717env :
1818 SERVERMANAGER_PROJECT_PATH : BHD-ServerManager/ServerManager.csproj
19+ REMOTECLIENT_PROJECT_PATH : RemoteClient/RemoteClient.csproj
1920 NETLIMITERBRIDGE_PROJECT_PATH : NetLimiterBridge/NetLimiterBridge.csproj
21+ HAWKSYNCSHARED_PROJECT_PATH : HawkSyncShared/HawkSyncShared.csproj
2022 OUTPUT_NAME : HawkSync-ServerManager
2123 DOTNET_VERSION : ' 8.0.x'
2224
2325jobs :
2426 build :
2527 runs-on : windows-latest
26-
28+
2729 steps :
2830 - name : Checkout code
2931 uses : actions/checkout@v4
3840 - name : Setup .NET Framework Build Tools
3941 uses : microsoft/setup-msbuild@v2
4042
43+ - name : Restore HawkSyncShared dependencies
44+ run : dotnet restore ${{ env.HAWKSYNCSHARED_PROJECT_PATH }}
45+
46+ - name : Build HawkSyncShared
47+ run : dotnet build ${{ env.HAWKSYNCSHARED_PROJECT_PATH }} --configuration Release
48+
4149 - name : Restore ServerManager dependencies
4250 run : dotnet restore ${{ env.SERVERMANAGER_PROJECT_PATH }}
4351
@@ -61,24 +69,43 @@ jobs:
6169 /p:BaseOutputPath=bin/ `
6270 /p:Platform="Any CPU"
6371
72+ - name : Restore RemoteClient dependencies
73+ run : dotnet restore ${{ env.REMOTECLIENT_PROJECT_PATH }}
74+
75+ - name : Build RemoteClient (.NET 8.0)
76+ run : |
77+ dotnet build ${{ env.REMOTECLIENT_PROJECT_PATH }} `
78+ --configuration Release `
79+ --no-restore `
80+ /p:UseCommonOutputDirectory=false `
81+ /p:OutputPath=bin/Release/ `
82+ /p:BaseOutputPath=bin/ `
83+ /p:Platform="Any CPU"
84+
6485 - name : Publish ServerManager
6586 run : |
6687 dotnet publish ${{ env.SERVERMANAGER_PROJECT_PATH }} `
6788 --configuration Release `
6889 --runtime win-x64 `
6990 --self-contained false `
70- --output ./publish `
91+ --output ./publish/ServerManager `
92+ /p:UseCommonOutputDirectory=false
93+
94+ - name : Publish RemoteClient
95+ run : |
96+ dotnet publish ${{ env.REMOTECLIENT_PROJECT_PATH }} `
97+ --configuration Release `
98+ --runtime win-x64 `
99+ --self-contained false `
100+ --output ./publish/RemoteClient `
71101 /p:UseCommonOutputDirectory=false
72102
73103 - name : Copy NetLimiterBridge to ServerManager output
74104 shell : pwsh
75105 run : |
76- # Create NetLimiterBridge subfolder
77- New-Item -ItemType Directory -Force -Path ./publish/NetLimiterBridge
78-
79- # Copy NetLimiterBridge binaries
106+ New-Item -ItemType Directory -Force -Path ./publish/ServerManager/NetLimiterBridge
80107 Copy-Item -Path ./NetLimiterBridge/bin/Release/* `
81- -Destination ./publish/NetLimiterBridge/ `
108+ -Destination ./publish/ServerManager/ NetLimiterBridge/ `
82109 -Recurse -Force
83110
84111 - name : Create version info
@@ -101,7 +128,9 @@ jobs:
101128
102129 Components:
103130 - ServerManager (.NET 8.0)
131+ - RemoteClient (.NET 8.0)
104132 - NetLimiterBridge (.NET Framework 4.8.1)
133+ - HawkSyncShared (.NET Standard/.NET 8.0)
105134
106135 Requirements:
107136 - .NET 8.0 Runtime
@@ -133,39 +162,4 @@ jobs:
133162 with :
134163 name : ${{ env.OUTPUT_NAME }}-${{ env.VERSION }}
135164 path : ./${{ env.OUTPUT_NAME }}-${{ env.VERSION }}.zip
136- retention-days : 30
137-
138- - name : Create Release
139- if : github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/v')
140- uses : softprops/action-gh-release@v2
141- with :
142- tag_name : ${{ startsWith(github.ref, 'refs/tags/v') && github.ref_name || format('dev-{0}', env.VERSION) }}
143- name : ${{ startsWith(github.ref, 'refs/tags/v') && format('Release {0}', github.ref_name) || format('Development Build {0}', env.VERSION) }}
144- files : ./${{ env.OUTPUT_NAME }}-${{ env.VERSION }}.zip
145- body : |
146- ## HawkSync Server Manager ${{ env.VERSION }}
147-
148- ### Requirements
149- - Windows 10/11 (x64)
150- - [.NET 8.0 Runtime](https://dotnet.microsoft.com/download/dotnet/8.0)
151- - [.NET Framework 4.8.1 Runtime](https://dotnet.microsoft.com/download/dotnet-framework/net481)
152-
153- ### Installation
154- 1. Install .NET 8.0 Runtime if not already installed
155- 2. Install .NET Framework 4.8.1 Runtime if not already installed
156- 3. Download the ZIP file below
157- 4. Extract to your desired location
158- 5. Run `ServerManager.exe`
159-
160- ### Components
161- - **ServerManager**: Main application (.NET 8.0)
162- - **NetLimiterBridge**: Network limiting bridge (.NET Framework 4.8.1)
163-
164- ### Changes
165- See [commit history](https://github.com/${{ github.repository }}/commits/${{ github.ref_name }}) for details.
166- draft : false
167- prerelease : ${{ !startsWith(github.ref, 'refs/tags/v') }}
168- generate_release_notes : true
169- make_latest : ${{ startsWith(github.ref, 'refs/tags/v') }}
170- env :
171- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
165+ retention-days : 30
0 commit comments