Skip to content

Add descriptive error for port binding #22

Add descriptive error for port binding

Add descriptive error for port binding #22

Workflow file for this run

# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: .NET
on:
push:
branches: [ "main" ]
pull_request:
workflow_dispatch:
create:
jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- gh: ubuntu-22.04
cs: linux-x64
- gh: windows-latest
cs: win-x64
- gh: macos-latest
cs: osx-x64
runs-on: ${{ matrix.os.gh }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: Restore dependencies
run: dotnet restore
- if: matrix.os.cs != 'win-x64'
name: Build
run: dotnet build --no-restore -c Release
- name: Test
run: dotnet test --verbosity normal
- name: Copy additional release files
run: |
mkdir -p builds/cli_${{ matrix.os.cs }}/
cp LICENSE builds/cli_${{ matrix.os.cs }}/
cp NOTICE.md builds/cli_${{ matrix.os.cs }}/
mkdir -p builds/cli_aot_${{ matrix.os.cs }}/
cp LICENSE builds/cli_aot_${{ matrix.os.cs }}/
cp NOTICE.md builds/cli_aot_${{ matrix.os.cs }}/
mkdir -p builds/gui_${{ matrix.os.cs }}/
cp LICENSE builds/gui_${{ matrix.os.cs }}/
cp NOTICE.md builds/gui_${{ matrix.os.cs }}/
- name: Publish CLI
run: dotnet publish SlimeVrOta -c Release -r ${{ matrix.os.cs }} -o builds/cli_${{ matrix.os.cs }} -p:CSharpier_Bypass=true
- name: Upload a build artifact (CLI)
uses: actions/upload-artifact@v4
with:
name: SlimeVR-OTA_${{ matrix.os.cs }}
# A file, directory or wildcard pattern that describes what to upload
path: |
builds/cli_${{ matrix.os.cs }}/SlimeVR-OTA.exe
builds/cli_${{ matrix.os.cs }}/SlimeVR-OTA
builds/cli_${{ matrix.os.cs }}/LICENSE
builds/cli_${{ matrix.os.cs }}/NOTICE.md
- name: Publish CLI AOT
run: dotnet publish SlimeVrOta -c Release -r ${{ matrix.os.cs }} -o builds/cli_aot_${{ matrix.os.cs }} -p:PublishAot=true -p:PublishSingleFile=false -p:CSharpier_Bypass=true
- name: Upload a build artifact (CLI AOT)
uses: actions/upload-artifact@v4
with:
name: SlimeVR-OTA_AOT_${{ matrix.os.cs }}
# A file, directory or wildcard pattern that describes what to upload
path: |
builds/cli_aot_${{ matrix.os.cs }}/SlimeVR-OTA.exe
builds/cli_aot_${{ matrix.os.cs }}/SlimeVR-OTA
builds/cli_aot_${{ matrix.os.cs }}/LICENSE
builds/cli_aot_${{ matrix.os.cs }}/NOTICE.md
- name: Publish GUI
run: dotnet publish SlimeVrOta.Gui -c Release -r ${{ matrix.os.cs }} -o builds/gui_${{ matrix.os.cs }} -p:CSharpier_Bypass=true
- name: Upload a build artifact (GUI)
uses: actions/upload-artifact@v4
with:
name: SlimeVR-OTA-GUI_${{ matrix.os.cs }}
# A file, directory or wildcard pattern that describes what to upload
path: |
builds/gui_${{ matrix.os.cs }}/
!builds/gui_${{ matrix.os.cs }}/*.pdb
!builds/gui_${{ matrix.os.cs }}/SlimeVR-OTA
!builds/gui_${{ matrix.os.cs }}/SlimeVR-OTA.*
builds/gui_${{ matrix.os.cs }}/LICENSE
builds/gui_${{ matrix.os.cs }}/NOTICE.md