Update version to v0.3.1 #24
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |