fix(desktop): Bank Sync key section — button no longer covers its label #50
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |