diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 00ce28dfe..5ee469e39 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -509,6 +509,51 @@ jobs: echo "Collected signatures (if any alongside artifacts):" ls -la release-assets/*.sig || echo "No signatures found" + - name: Upload release artifacts to workflow + uses: actions/upload-artifact@v4 + with: + name: release-assets-${{ runner.os }}-${{ matrix.arch || runner.arch }} + path: release-assets/* + if-no-files-found: error + + - name: List generated bundles (debug) + if: always() + shell: bash + run: | + echo "Listing bundles in src-tauri/target..." + find src-tauri/target -maxdepth 4 -type f -name "*.*" 2>/dev/null || true + + - name: Clean up Apple signing keychain + if: runner.os == 'macOS' && always() + shell: bash + run: | + if [ -n "${ORIGINAL_DEFAULT_KEYCHAIN:-}" ]; then + security default-keychain -s "$ORIGINAL_DEFAULT_KEYCHAIN" || true + fi + if [ -f "$RUNNER_TEMP/build.keychain-db" ]; then + security delete-keychain "$RUNNER_TEMP/build.keychain-db" || true + fi + + publish-release: + name: Publish GitHub Release + runs-on: ubuntu-22.04 + needs: release + permissions: + contents: write + steps: + - name: Download built release artifacts + uses: actions/download-artifact@v4 + with: + pattern: release-assets-* + path: release-assets + merge-multiple: true + + - name: List downloaded release artifacts + shell: bash + run: | + set -euo pipefail + ls -la release-assets + - name: Upload Release Assets uses: softprops/action-gh-release@v2 with: @@ -535,28 +580,10 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: List generated bundles (debug) - if: always() - shell: bash - run: | - echo "Listing bundles in src-tauri/target..." - find src-tauri/target -maxdepth 4 -type f -name "*.*" 2>/dev/null || true - - - name: Clean up Apple signing keychain - if: runner.os == 'macOS' && always() - shell: bash - run: | - if [ -n "${ORIGINAL_DEFAULT_KEYCHAIN:-}" ]; then - security default-keychain -s "$ORIGINAL_DEFAULT_KEYCHAIN" || true - fi - if [ -f "$RUNNER_TEMP/build.keychain-db" ]; then - security delete-keychain "$RUNNER_TEMP/build.keychain-db" || true - fi - assemble-latest-json: name: Assemble latest.json runs-on: ubuntu-22.04 - needs: release + needs: publish-release permissions: contents: write steps: diff --git a/src-tauri/icons/dmg-background.png b/src-tauri/icons/dmg-background.png new file mode 100644 index 000000000..ccb3b19c9 Binary files /dev/null and b/src-tauri/icons/dmg-background.png differ diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 1551b39fc..d7b911b58 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -50,7 +50,22 @@ } }, "macOS": { - "minimumSystemVersion": "12.0" + "minimumSystemVersion": "12.0", + "dmg": { + "background": "icons/dmg-background.png", + "windowSize": { + "width": 660, + "height": 400 + }, + "appPosition": { + "x": 180, + "y": 220 + }, + "applicationFolderPosition": { + "x": 480, + "y": 220 + } + } } }, "plugins": {