History

Add desktop auto-update flow and publish updater assets

- wire `electron-updater` into desktop main/preload IPC and shared contracts - add sidebar update action for download/install state in Electron UI - update release workflow/build script to include `latest*.yml` and `*.blockmap` assets

Julius Marminge committed 8 months ago

Commit 6c350481 parent 2ae63f49 files · +780 −252Browse files

Showing the changes to .github (1 of 9 files). Show all

Unified · Split

.github/workflows/release.yml+33−2
@@ -240,11 +240,36 @@ jobs: · 239 unmodified lines
240 240
241 bun run dist:desktop:artifact -- "${args[@]}"241 bun run dist:desktop:artifact -- "${args[@]}"
242 242
243 - name: Collect release assets
244 shell: bash
245 run: |
246 set -euo pipefail
247 mkdir -p release-publish
248
249 shopt -s nullglob
250 for pattern in \
251 "release/*.dmg" \
252 "release/*.zip" \
253 "release/*.AppImage" \
254 "release/*.exe" \
255 "release/*.blockmap" \
256 "release/latest*.yml"; do
257 for file in $pattern; do
258 cp "$file" release-publish/
259 done
260 done
261
262 if [[ "${{ matrix.platform }}" == "mac" && "${{ matrix.arch }}" != "arm64" ]]; then
263 if [[ -f release-publish/latest-mac.yml ]]; then
264 mv release-publish/latest-mac.yml "release-publish/latest-mac-${{ matrix.arch }}.yml"
265 fi
266 fi
267
243 - name: Upload build artifacts268 - name: Upload build artifacts
244 uses: actions/upload-artifact@v4269 uses: actions/upload-artifact@v4
245 with:270 with:
246 name: desktop-${{ matrix.platform }}-${{ matrix.arch }}271 name: desktop-${{ matrix.platform }}-${{ matrix.arch }}
247 path: release/*272 path: release-publish/*
248 if-no-files-found: error273 if-no-files-found: error
249 274
250 publish_cli:275 publish_cli:
@@ -293,5 +318,11 @@ jobs: · 42 unmodified lines
293 tag_name: ${{ needs.preflight.outputs.tag }}318 tag_name: ${{ needs.preflight.outputs.tag }}
294 name: T3 Code v${{ needs.preflight.outputs.version }}319 name: T3 Code v${{ needs.preflight.outputs.version }}
295 generate_release_notes: true320 generate_release_notes: true
296 files: release-assets/*321 files: |
322 release-assets/*.dmg
323 release-assets/*.zip
324 release-assets/*.AppImage
325 release-assets/*.exe
326 release-assets/*.blockmap
327 release-assets/latest*.yml
297 fail_on_unmatched_files: true328 fail_on_unmatched_files: true