Skip to content

feat: update version to 2.3.8 in package.json #168

feat: update version to 2.3.8 in package.json

feat: update version to 2.3.8 in package.json #168

Workflow file for this run

name: Release Desktop
on:
push:
tags:
- "v*"
permissions:
contents: write
jobs:
# ─── macOS Apple Silicon (arm64) ─────────────────────────────────────────
build-mac-arm64:
name: Build macOS (Apple Silicon)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install root dependencies
run: bun install --frozen-lockfile
- name: Build server
run: bun run build
- uses: actions/setup-node@v4
with:
node-version: "22.13.0"
- name: Install desktop dependencies
working-directory: desktop
run: bun install --frozen-lockfile
- name: Typecheck desktop
working-directory: desktop
run: bun run typecheck
- name: Build macOS arm64 package
working-directory: desktop
run: bun run package:mac
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
- uses: actions/upload-artifact@v4
with:
name: mac-arm64
path: desktop/release/*.dmg
if-no-files-found: warn
# ─── Windows ─────────────────────────────────────────────────────────────
build-win:
name: Build Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install root dependencies
run: bun install --frozen-lockfile
- name: Build server
run: bun run build
- uses: actions/setup-node@v4
with:
node-version: "22.13.0"
- name: Install desktop dependencies
working-directory: desktop
run: bun install --frozen-lockfile
- name: Typecheck desktop
working-directory: desktop
run: bun run typecheck
- name: Build Windows package
working-directory: desktop
run: bun run package:win
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
- uses: actions/upload-artifact@v4
with:
name: win
path: |
desktop/release/*.exe
desktop/release/*.msi
if-no-files-found: warn
# ─── Linux (x64) ────────────────────────────────────────────────────────
build-linux-x64:
name: Build Linux (x64)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install root dependencies
run: bun install --frozen-lockfile
- name: Build server
run: bun run build
- uses: actions/setup-node@v4
with:
node-version: "22.13.0"
- name: Install desktop dependencies
working-directory: desktop
run: bun install --frozen-lockfile
- name: Typecheck desktop
working-directory: desktop
run: bun run typecheck
- name: Build Linux x64 package
working-directory: desktop
run: bun run package:linux -- --x64
- uses: actions/upload-artifact@v4
with:
name: linux-x64
path: desktop/release/*.AppImage
if-no-files-found: error
# ─── Upload all artifacts to the GitHub Release ──────────────────────────
release-upload:
name: Upload to Release
needs: [ build-mac-arm64, build-win, build-linux-x64 ]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
path: artifacts
merge-multiple: true
- name: List artifacts
run: find artifacts -type f | sort
- name: Wait for GitHub Release to be created
run: |
for i in {1..12}; do
if gh release view "${{ github.ref_name }}" \
--repo "${{ github.repository }}" > /dev/null 2>&1; then
echo "Release exists, proceeding."
break
fi
echo "Release not found yet, waiting 30s... ($i/12)"
sleep 30
done
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload artifacts to GitHub Release
run: |
find artifacts -type f -exec \
gh release upload "${{ github.ref_name }}" {} --clobber \;
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}