Skip to content

fix(desktop): Bank Sync key section — button no longer covers its label #50

fix(desktop): Bank Sync key section — button no longer covers its label

fix(desktop): Bank Sync key section — button no longer covers its label #50

Workflow file for this run

name: Florin Release
on:
push:
tags:
- 'Florin-v*'
permissions:
contents: write
jobs:
build-mac:
# Pinned to macos-14 (arm64): macos-latest rolled to a newer image where
# electron-builder's bundled dmgbuild/hdiutil fails to detach the DMG volume
# (".background/background.tiff" + "hdiutil detach" errors). v1.2.2 built
# fine on macos-14; keep it until electron-builder ships a dmgbuild fix.
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Rebuild better-sqlite3 for current Node
run: cd node_modules/.pnpm/better-sqlite3@*/node_modules/better-sqlite3 && npx --yes node-gyp@11 rebuild --release
- name: Build main process + Next.js
run: cd apps/desktop && pnpm build
- name: Build, sign & notarize
# electron-builder decodes CSC_LINK (base64 Developer ID .p12) into a
# temp keychain and signs; `notarize: true` (electron-builder.yml) runs
# notarytool with the APPLE_* creds and staples the result. If these
# secrets are unset the build is produced unsigned instead of failing.
#
# Entitlements passed as an ABSOLUTE path so codesign always resolves it
# regardless of its CWD. The plist lives at apps/desktop/entitlements.mac.plist
# (NOT under build/, which .gitignore excludes — that's why an earlier
# run got "cannot read entitlement data": the file wasn't committed).
run: |
cd apps/desktop
pnpm exec electron-builder --mac --publish never \
--config.mac.entitlements="$PWD/entitlements.mac.plist" \
--config.mac.entitlementsInherit="$PWD/entitlements.mac.plist"
env:
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
- name: Upload desktop artifacts to Release
# DMGs for manual install + the zip/blockmaps/latest-mac.yml that
# electron-updater reads to detect and download in-place updates.
uses: softprops/action-gh-release@v2
with:
files: |
apps/desktop/dist/*.dmg
apps/desktop/dist/*.zip
apps/desktop/dist/*.blockmap
apps/desktop/dist/latest-mac.yml
attach-server:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Package server deployment bundle
run: |
# Strip the "Florin-v" prefix from the tag to get a plain version
# (e.g. Florin-v1.0.0 -> 1.0.0) so the asset matches the DMG naming:
# Florin-<version>-arm64.dmg, Florin-<version>-x64.dmg,
# Florin-<version>-server.tar.gz.
VERSION="${GITHUB_REF_NAME#Florin-v}"
mkdir -p server-bundle
cp compose.yaml server-bundle/
cp apps/web/Dockerfile server-bundle/Dockerfile.web
cp -r apps/web/drizzle server-bundle/drizzle
tar -czf "Florin-${VERSION}-server.tar.gz" server-bundle
- name: Upload server bundle to Release
uses: softprops/action-gh-release@v2
with:
files: Florin-*-server.tar.gz