Skip to content

Commit 689b9d2

Browse files
authored
Merge branch 'Stack-Cairn:main' into main
2 parents 4f9b50b + 94f8237 commit 689b9d2

21 files changed

Lines changed: 1100 additions & 19 deletions

File tree

.github/workflows/desktop-release.yml

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ jobs:
100100
env:
101101
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
102102
DESKTOP_MACOS_TARGET: ${{ matrix.target }}
103+
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
104+
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
105+
LIVEAGENT_UPDATER_PUBLIC_KEY: ${{ secrets.TAURI_UPDATER_PUBLIC_KEY }}
106+
LIVEAGENT_UPDATE_REPOSITORY: ${{ github.repository }}
103107
run: make desktop-build-macos-release
104108

105109
- name: Stage macOS artifact
@@ -109,13 +113,18 @@ jobs:
109113
set -euo pipefail
110114
mkdir -p dist
111115
dmg_path="$(find "target/${{ matrix.target }}/release/bundle/dmg" -maxdepth 1 -name 'LiveAgent_*.dmg' -print -quit)"
116+
updater_path="$(find "target/${{ matrix.target }}/release/bundle/macos" -maxdepth 1 -name '*.app.tar.gz' -print -quit)"
112117
test -n "$dmg_path"
118+
test -n "$updater_path"
119+
test -f "$updater_path.sig"
113120
cp "$dmg_path" "dist/LiveAgent-${RELEASE_TAG}-macOS-${{ matrix.suffix }}.dmg"
121+
cp "$updater_path" "dist/LiveAgent-${RELEASE_TAG}-macOS-${{ matrix.suffix }}.app.tar.gz"
122+
cp "$updater_path.sig" "dist/LiveAgent-${RELEASE_TAG}-macOS-${{ matrix.suffix }}.app.tar.gz.sig"
114123
115124
- uses: actions/upload-artifact@v7
116125
with:
117126
name: liveagent-macos-${{ matrix.suffix }}
118-
path: dist/*.dmg
127+
path: dist/*
119128
if-no-files-found: error
120129

121130
windows:
@@ -150,7 +159,12 @@ jobs:
150159

151160
- name: Build Windows bundles
152161
working-directory: crates/agent-gui
153-
run: pnpm tauri build --config src-tauri/tauri.windows.conf.json --target x86_64-pc-windows-msvc
162+
env:
163+
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
164+
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
165+
LIVEAGENT_UPDATER_PUBLIC_KEY: ${{ secrets.TAURI_UPDATER_PUBLIC_KEY }}
166+
LIVEAGENT_UPDATE_REPOSITORY: ${{ github.repository }}
167+
run: pnpm tauri build --config src-tauri/tauri.windows.release.conf.json --target x86_64-pc-windows-msvc
154168

155169
- name: Stage Windows artifacts
156170
shell: bash
@@ -161,10 +175,21 @@ jobs:
161175
mkdir -p dist
162176
msi_path="$(find target crates/agent-gui/src-tauri/target -type f -name '*.msi' -path '*bundle*' -print -quit 2>/dev/null || true)"
163177
exe_path="$(find target crates/agent-gui/src-tauri/target -type f -name '*.exe' -path '*bundle*' -print -quit 2>/dev/null || true)"
178+
nsis_zip_path="$(find target crates/agent-gui/src-tauri/target -type f -name '*.exe.zip' -path '*bundle*' -print -quit 2>/dev/null || true)"
179+
msi_zip_path="$(find target crates/agent-gui/src-tauri/target -type f -name '*.msi.zip' -path '*bundle*' -print -quit 2>/dev/null || true)"
164180
test -n "$msi_path"
165181
test -n "$exe_path"
182+
test -n "$nsis_zip_path"
183+
test -f "$nsis_zip_path.sig"
166184
cp "$msi_path" "dist/LiveAgent-${RELEASE_TAG}-Windows-x64.msi"
167185
cp "$exe_path" "dist/LiveAgent-${RELEASE_TAG}-Windows-x64-Setup.exe"
186+
cp "$nsis_zip_path" "dist/LiveAgent-${RELEASE_TAG}-Windows-x64-nsis.zip"
187+
cp "$nsis_zip_path.sig" "dist/LiveAgent-${RELEASE_TAG}-Windows-x64-nsis.zip.sig"
188+
if [ -n "$msi_zip_path" ]; then
189+
test -f "$msi_zip_path.sig"
190+
cp "$msi_zip_path" "dist/LiveAgent-${RELEASE_TAG}-Windows-x64-msi.zip"
191+
cp "$msi_zip_path.sig" "dist/LiveAgent-${RELEASE_TAG}-Windows-x64-msi.zip.sig"
192+
fi
168193
test "$(find dist -type f | wc -l)" -gt 0
169194
170195
- uses: actions/upload-artifact@v7
@@ -216,7 +241,12 @@ jobs:
216241
run: pnpm install --frozen-lockfile
217242

218243
- name: Build Linux bundles
219-
run: make desktop-build-linux
244+
env:
245+
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
246+
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
247+
LIVEAGENT_UPDATER_PUBLIC_KEY: ${{ secrets.TAURI_UPDATER_PUBLIC_KEY }}
248+
LIVEAGENT_UPDATE_REPOSITORY: ${{ github.repository }}
249+
run: pnpm --dir crates/agent-gui tauri build --config src-tauri/tauri.linux.release.conf.json --target x86_64-unknown-linux-gnu --bundles appimage deb rpm
220250

221251
- name: Stage Linux artifacts
222252
env:
@@ -227,12 +257,27 @@ jobs:
227257
appimage_path="$(find crates/agent-gui/src-tauri/target target -type f -name '*.AppImage' -path '*bundle*' -print -quit 2>/dev/null || true)"
228258
deb_path="$(find crates/agent-gui/src-tauri/target target -type f -name '*.deb' -path '*bundle*' -print -quit 2>/dev/null || true)"
229259
rpm_path="$(find crates/agent-gui/src-tauri/target target -type f -name '*.rpm' -path '*bundle*' -print -quit 2>/dev/null || true)"
260+
appimage_updater_path="$(find crates/agent-gui/src-tauri/target target -type f -name '*.AppImage.tar.gz' -path '*bundle*' -print -quit 2>/dev/null || true)"
261+
deb_updater_path="$(find crates/agent-gui/src-tauri/target target -type f -name '*.deb.tar.gz' -path '*bundle*' -print -quit 2>/dev/null || true)"
262+
rpm_updater_path="$(find crates/agent-gui/src-tauri/target target -type f -name '*.rpm.tar.gz' -path '*bundle*' -print -quit 2>/dev/null || true)"
230263
test -n "$appimage_path"
231264
test -n "$deb_path"
232265
test -n "$rpm_path"
266+
test -n "$appimage_updater_path"
267+
test -n "$deb_updater_path"
268+
test -n "$rpm_updater_path"
269+
test -f "$appimage_updater_path.sig"
270+
test -f "$deb_updater_path.sig"
271+
test -f "$rpm_updater_path.sig"
233272
cp "$appimage_path" "dist/LiveAgent-${RELEASE_TAG}-Linux-x86_64.AppImage"
234273
cp "$deb_path" "dist/LiveAgent-${RELEASE_TAG}-Linux-x86_64.deb"
235274
cp "$rpm_path" "dist/LiveAgent-${RELEASE_TAG}-Linux-x86_64.rpm"
275+
cp "$appimage_updater_path" "dist/LiveAgent-${RELEASE_TAG}-Linux-x86_64.AppImage.tar.gz"
276+
cp "$appimage_updater_path.sig" "dist/LiveAgent-${RELEASE_TAG}-Linux-x86_64.AppImage.tar.gz.sig"
277+
cp "$deb_updater_path" "dist/LiveAgent-${RELEASE_TAG}-Linux-x86_64.deb.tar.gz"
278+
cp "$deb_updater_path.sig" "dist/LiveAgent-${RELEASE_TAG}-Linux-x86_64.deb.tar.gz.sig"
279+
cp "$rpm_updater_path" "dist/LiveAgent-${RELEASE_TAG}-Linux-x86_64.rpm.tar.gz"
280+
cp "$rpm_updater_path.sig" "dist/LiveAgent-${RELEASE_TAG}-Linux-x86_64.rpm.tar.gz.sig"
236281
237282
- uses: actions/upload-artifact@v7
238283
with:
@@ -248,6 +293,8 @@ jobs:
248293
- windows
249294
- linux
250295
steps:
296+
- uses: actions/checkout@v6
297+
251298
- uses: actions/download-artifact@v8
252299
with:
253300
path: release-artifacts
@@ -256,9 +303,16 @@ jobs:
256303
- name: Publish assets
257304
env:
258305
GH_TOKEN: ${{ github.token }}
306+
GH_REPO: ${{ github.repository }}
259307
RELEASE_TAG: ${{ github.event.inputs.tag || github.ref_name }}
260308
run: |
261309
set -euo pipefail
310+
prerelease_args=()
311+
if [[ "$RELEASE_TAG" =~ -(alpha|beta|rc|pre|preview|next) ]]; then
312+
prerelease_args+=(--prerelease)
313+
fi
262314
gh release view "$RELEASE_TAG" >/dev/null 2>&1 || \
263-
gh release create "$RELEASE_TAG" --title "LiveAgent $RELEASE_TAG" --notes "Automated LiveAgent release."
315+
gh release create "$RELEASE_TAG" "${prerelease_args[@]}" --title "LiveAgent $RELEASE_TAG" --notes "Automated LiveAgent release."
264316
gh release upload "$RELEASE_TAG" release-artifacts/* --clobber
317+
node scripts/release/create-tauri-updater-manifest.mjs release-artifacts release-artifacts/latest.json
318+
gh release upload "$RELEASE_TAG" release-artifacts/latest.json --clobber

Cargo.lock

Lines changed: 132 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ DESKTOP_MACOS_APP_NAME ?= LiveAgent
2121
DESKTOP_MACOS_NOTARY_PROFILE ?= liveagent-notary
2222
DESKTOP_MACOS_TAURI_CONFIG ?= src-tauri/tauri.macos.conf.json
2323
DESKTOP_WINDOWS_TAURI_CONFIG ?= src-tauri/tauri.windows.conf.json
24+
DESKTOP_RELEASE_TAURI_CONFIG ?= src-tauri/tauri.macos.release.conf.json
2425

2526
DEV_GATEWAY_TOKEN ?= dev-token
2627
DEV_GATEWAY_HTTP_ADDR ?= :8080
@@ -45,7 +46,7 @@ desktop-build-macos: check-rust-target-$(DESKTOP_MACOS_TARGET)
4546
pnpm --dir $(AGENT_GUI_DIR) tauri build --config $(DESKTOP_MACOS_TAURI_CONFIG) --target $(DESKTOP_MACOS_TARGET)
4647

4748
desktop-build-macos-release: check-rust-target-$(DESKTOP_MACOS_TARGET) check-macos-signing-identity check-macos-notary-profile
48-
env -u APPLE_ID -u APPLE_PASSWORD -u APPLE_API_ISSUER -u APPLE_API_KEY -u APPLE_API_KEY_PATH APPLE_SIGNING_IDENTITY="$(APPLE_SIGNING_IDENTITY)" pnpm --dir $(AGENT_GUI_DIR) tauri build --config $(DESKTOP_MACOS_TAURI_CONFIG) --target $(DESKTOP_MACOS_TARGET)
49+
env -u APPLE_ID -u APPLE_PASSWORD -u APPLE_API_ISSUER -u APPLE_API_KEY -u APPLE_API_KEY_PATH APPLE_SIGNING_IDENTITY="$(APPLE_SIGNING_IDENTITY)" pnpm --dir $(AGENT_GUI_DIR) tauri build --config $(DESKTOP_RELEASE_TAURI_CONFIG) --target $(DESKTOP_MACOS_TARGET)
4950
@set -e; \
5051
app_path="target/$(DESKTOP_MACOS_TARGET)/release/bundle/macos/$(DESKTOP_MACOS_APP_NAME).app"; \
5152
dmg_path="$$(find "target/$(DESKTOP_MACOS_TARGET)/release/bundle/dmg" -maxdepth 1 -name '$(DESKTOP_MACOS_APP_NAME)_*.dmg' -print -quit)"; \

crates/agent-gui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "liveagent",
33
"private": true,
4-
"version": "0.1.0",
4+
"version": "0.1.1",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

0 commit comments

Comments
 (0)