name: Build Server on: [push, pull_request] jobs: build: runs-on: windows-latest strategy: matrix: mode: ["Debug", "Release"] steps: - name: Git checkout uses: actions/checkout@v1 with: submodules: recursive - name: Install NuGet client uses: nuget/setup-nuget@v1 - name: Restore NuGet packages run: | nuget restore .\TerrariaServerAPI\TShock.4.OTAPI.sln nuget restore TShock.sln - name: Build OTAPI shell: cmd run: | "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe" .\TerrariaServerAPI\TShock.4.OTAPI.sln /p:Configuration=${{ matrix.mode }} cd .\TerrariaServerAPI\TShock.Modifications.Bootstrapper\bin\${{ matrix.mode }} TShock.Modifications.Bootstrapper.exe - name: Build TerrariaServerAPI shell: cmd run: | cd .\TerrariaServerAPI "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe" .\TerrariaServerAPI\TerrariaServerAPI.csproj /p:Configuration=${{ matrix.mode }} - name: Build TShock shell: cmd run: | "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe" .\TShockAPI\TShockAPI.csproj /p:Configuration=${{ matrix.mode }} - name: Normalize release packaging shell: cmd run: | xcopy /Y prebuilts\*.* TShockAPI\bin\${{ matrix.mode }} mkdir TShockAPI\bin\${{ matrix.mode }}\ServerPlugins move TShockAPI\bin\${{ matrix.mode }}\TShockAPI.dll TShockAPI\bin\${{ matrix.mode }}\ServerPlugins - name: Upload TShock (Debug) if: contains(matrix.mode, 'Debug') uses: actions/upload-artifact@master with: name: Experimental TShock (debug) path: TShockAPI\bin\Debug - name: Upload OTAPI Bootstrapper (Debug) if: contains(matrix.mode, 'Debug') uses: actions/upload-artifact@master with: name: Experimental (debug) OTAPI Bootstrapper path: .\TerrariaServerAPI\TShock.Modifications.Bootstrapper\bin\Debug\TShock.Modifications.Bootstrapper.exe - name: Upload TShock (Not Debug) if: contains(matrix.mode, 'Release') uses: actions/upload-artifact@master with: name: Experimental TShock (not debug) path: TShockAPI\bin\Release - name: Upload OTAPI Bootstrapper (Not Debug) if: contains(matrix.mode, 'Release') uses: actions/upload-artifact@master with: name: Experimental (not debug) OTAPI Bootstrapper path: .\TerrariaServerAPI\TShock.Modifications.Bootstrapper\bin\Release\TShock.Modifications.Bootstrapper.exe