name: Build and publish server on: workflow_dispatch: push: pull_request: jobs: build: strategy: matrix: configuration: [Release] runs-on: windows-latest # For a list of available runner types, refer to # https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on steps: - name: Checkout uses: actions/checkout@v6 with: fetch-depth: 0 # Install the .NET Core workload - name: Install .NET 10 uses: actions/setup-dotnet@v5 with: dotnet-version: 10.0.x # Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild - name: Setup MSBuild uses: microsoft/setup-msbuild@v2 - name: Restore packages run: dotnet restore - name: Publish Server Selector GUI run: dotnet publish ServerSelector.Desktop - name: Publish Server run: dotnet publish EpinelPS - name: Copy to output run: echo ${{ github.workspace }} && md ${{ github.workspace }}/out/ && xcopy /s /e "${{ github.workspace }}\ServerSelector.Desktop\bin\Release\net10.0\win-x64\publish\" "${{ github.workspace }}\out\" && xcopy /s /e "${{ github.workspace }}\EpinelPS\bin\Release\net10.0\win-x64\publish\" "${{ github.workspace }}\out\" && copy "${{ github.workspace }}\ServerSelector.Desktop\sodium.dll" "${{ github.workspace }}\out\sodium.dll" - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: Server and Server selector path: ${{ github.workspace }}/out/ serverOnly: strategy: matrix: configuration: [Release] runs-on: ubuntu-latest # For a list of available runner types, refer to # https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on steps: - name: Checkout uses: actions/checkout@v6 with: fetch-depth: 0 # Install the .NET Core workload - name: Install .NET 10 uses: actions/setup-dotnet@v5 with: dotnet-version: 10.0.x - name: Restore packages run: dotnet restore - name: Publish Server run: dotnet publish EpinelPS - name: Copy to output run: echo ${{ github.workspace }} && cp -R "${{ github.workspace }}/EpinelPS/bin/Release/net10.0/linux-x64/publish/" "${{ github.workspace }}/out/" - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: EpinelPS_linux_x64 path: ${{ github.workspace }}/out/