3480c75f4c
macOS (.dmg):
- Add mac build config to apps/desktop/package.json (x64 + arm64 DMGs)
- .github/workflows/build-mac.yml — builds on macos-latest, uploads to release
Docker (headless scheduler + web remote):
- docker/server.js — Node.js entry point using homebridge-plugin lib;
REST API + WebSocket, serves mobile web UI on PORT (default 3456)
- docker/package.json — production deps (adm-zip, axios, sql.js, ws, xml2js, xmlbuilder2)
- Dockerfile — node:20-alpine image; VOLUME /data for persistent config
- .github/workflows/build-docker.yml — builds linux/amd64+arm64,
pushes to ghcr.io/k0rb3nd4ll4s/dibby-wemo-manager
Usage:
docker run -d --network host -v /opt/wemo:/data \
ghcr.io/k0rb3nd4ll4s/dibby-wemo-manager:latest
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
53 lines
1.3 KiB
YAML
53 lines
1.3 KiB
YAML
name: Build & Upload macOS Package
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: 'Release tag to upload assets to (e.g. v2.0.0)'
|
|
required: true
|
|
default: 'v2.0.0'
|
|
|
|
jobs:
|
|
build-mac:
|
|
runs-on: macos-latest
|
|
permissions:
|
|
contents: write
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
|
|
- name: Install workspace dependencies
|
|
run: npm install --legacy-peer-deps
|
|
|
|
- name: Vite build
|
|
run: npx electron-vite build
|
|
working-directory: apps/desktop
|
|
|
|
- name: Bundle standalone scheduler
|
|
run: node scripts/bundle-standalone.js
|
|
working-directory: apps/desktop
|
|
|
|
- name: Build macOS packages
|
|
run: npx electron-builder --mac --publish never
|
|
working-directory: apps/desktop
|
|
env:
|
|
CSC_IDENTITY_AUTO_DISCOVERY: "false"
|
|
|
|
- name: List build output
|
|
run: ls -lh apps/desktop/dist/
|
|
|
|
- name: Upload macOS packages to release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
tag_name: ${{ github.event.inputs.tag }}
|
|
files: apps/desktop/dist/*.dmg
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|