Files
EpinelPS/.github/workflows/dotnet-desktop.yml
2025-12-05 15:33:04 -05:00

85 lines
2.5 KiB
YAML

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/