From 0998e8769bc12f60294946aad4c78d8be5c23e0e Mon Sep 17 00:00:00 2001 From: ApfelTeeSaft <91074565+ApfelTeeSaft@users.noreply.github.com> Date: Tue, 5 Nov 2024 09:04:42 +0100 Subject: [PATCH] Create dotnet-desktop.yml --- .github/workflows/dotnet-desktop.yml | 81 ++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .github/workflows/dotnet-desktop.yml diff --git a/.github/workflows/dotnet-desktop.yml b/.github/workflows/dotnet-desktop.yml new file mode 100644 index 0000000..683d7d4 --- /dev/null +++ b/.github/workflows/dotnet-desktop.yml @@ -0,0 +1,81 @@ +name: Publish MultiInject + +on: + push: + branches: [ "main" ] + +jobs: + build-and-release: + runs-on: ubuntu-latest + + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + + env: + VERSION: ${{ github.event.ref_name }} # Set the version tag as the release version + APP_NAME: "MultiInject" # Application name + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.0.0' # Specify .NET SDK version + + - name: Build the application + run: dotnet publish MultiInject.sln -c Release -o output + + - name: Upload build artifact + if: matrix.os == 'ubuntu-latest' + uses: actions/upload-artifact@v3 + with: + name: ${{ matrix.os }}-build + path: output + + - name: Create GitHub Release + id: create_release + if: github.ref_type == 'tag' + uses: actions/create-release@v1 + with: + tag_name: ${{ env.VERSION }} + release_name: Release ${{ env.VERSION }} + draft: false + prerelease: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload to Release - Linux + if: matrix.os == 'ubuntu-latest' + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: output + asset_name: MultiInject-linux-${{ env.VERSION }}.zip + asset_content_type: application/zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload to Release - Windows + if: matrix.os == 'windows-latest' + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: output + asset_name: MultiInject-win-${{ env.VERSION }}.zip + asset_content_type: application/zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload to Release - macOS + if: matrix.os == 'macos-latest' + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: output + asset_name: MultiInject-mac-${{ env.VERSION }}.zip + asset_content_type: application/zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}