diff --git a/.github/actions/full-build/action.yml b/.github/actions/full-build/action.yml index f68010d..6a8dffc 100644 --- a/.github/actions/full-build/action.yml +++ b/.github/actions/full-build/action.yml @@ -15,6 +15,11 @@ runs: steps: - uses: actions/setup-dotnet@v4 + - name: Install WiX v6 + shell: bash + run: | + dotnet tool install --global wix --version 6.0.* + - name: Build shell: bash run: dotnet build @@ -38,8 +43,16 @@ runs: Compress-Archive -Path "publish/$arch/*" -DestinationPath "publish/SentryReplay-${{ inputs.version }}-$arch.zip" } + - name: Create MSI Installers + shell: bash + run: | + for arch in ${{ inputs.archs }}; do + wix build Package.wxs -arch $arch -d Version=${{ inputs.version }} -d Arch=$arch -o "publish/SentryReplay-${{ inputs.version }}-$arch.msi" + done + - uses: actions/upload-artifact@v4 with: if-no-files-found: error path: | publish/*.zip + publish/*.msi diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 26682b8..dff8359 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -33,7 +33,9 @@ jobs: GH_TOKEN: ${{ github.token }} with: tag: "v${{ github.event.inputs.version }}" - artifacts: "publish/*.zip" + artifacts: | + publish/*.zip + publish/*.msi generateReleaseNotes: true prerelease: ${{ contains(github.event.inputs.version, 'preview') }} allowUpdates: ${{ github.event.inputs.updateRelease }} diff --git a/Package.wxs b/Package.wxs new file mode 100644 index 0000000..cc0f3ea --- /dev/null +++ b/Package.wxs @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +