diff --git a/.github/workflows/dotnet-desktop-velopack.yml b/.github/workflows/dotnet-desktop-velopack.yml index c7c4891..c31763a 100644 --- a/.github/workflows/dotnet-desktop-velopack.yml +++ b/.github/workflows/dotnet-desktop-velopack.yml @@ -4,9 +4,15 @@ on: push: branches: - main + jobs: deploy-to-github-releases: - runs-on: windows-latest + strategy: + matrix: + platform: [win-x64, linux-x64, osx-x64] + + runs-on: ${{ matrix.platform == 'win-x64' && 'windows-latest' || matrix.platform == 'linux-x64' && 'ubuntu-latest' || matrix.platform == 'osx-x64' && 'macos-latest' }} + steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -21,16 +27,18 @@ jobs: with: dotnet-version: 8.0.x - - name: Publish Application - run: - dotnet publish Mirivoice/Mirivoice.csproj -c Release -o publish/win-x64 -r win-x64 --self-contained true - dotnet publish Mirivoice/Mirivoice.csproj -c Release -o publish/linux-x64 -r linux-x64 --self-contained true - dotnet publish Mirivoice/Mirivoice.csproj -c Release -o publish/osx-x64 -r osx-x64 --self-contained true + - name: Publish Application for ${{ matrix.platform }} + run: | + dotnet publish Mirivoice/Mirivoice.csproj -c Release -o publish/${{ matrix.platform }} -r ${{ matrix.platform }} --self-contained true - - name: Create Velopack Release + - name: Install Velopack + run: dotnet tool install -g vpk + + - name: Create Velopack Package for ${{ matrix.platform }} run: | - dotnet tool install -g vpk vpk download github --repoUrl https://github.com/EX3exp/MiriVoice - vpk pack -u MiriVoice -v ${{ steps.get-version.outputs.version }} -p publish - vpk upload github --repoUrl https://github.com/EX3exp/MiriVoice --publish --releaseName "MiriVoice ${{ steps.get-version.outputs.version }}" --tag v${{ steps.get-version.outputs.version }} - + vpk pack -u MiriVoice -v ${{ steps.get-version.outputs.version }} -p publish/${{ matrix.platform }} + + - name: Upload Velopack Release for ${{ matrix.platform }} + run: | + vpk upload github --repoUrl https://github.com/EX3exp/MiriVoice --publish --releaseName "MiriVoice ${{ steps.get-version.outputs.version }}" --tag v${{ steps.get-version.outputs.version }} --platform ${{ matrix.platform }}