@@ -102,9 +102,55 @@ jobs:
102102 - name : Create .env file
103103 working-directory : ./lumis/apps/web
104104 run : |
105- cp .env.example .env
106- # Remove POSTGRES_URL to skip database migration in CI
107- grep -v '^POSTGRES_URL=' .env > .env.tmp && mv .env.tmp .env
105+ cat > .env << 'EOF'
106+ ENCRYPTION_KEY=${{ secrets.ENCRYPTION_KEY }}
107+
108+ # Cloud API Configuration for Tauri Desktop App
109+ CLOUD_API_URL=https://app.uselumis.ai
110+ NEXT_PUBLIC_CLOUD_API_URL=https://app.uselumis.ai
111+
112+ # Local development URL (for Tauri mode)
113+ NEXT_PUBLIC_APP_URL=http://localhost:3415
114+
115+ LLM_BASE_URL=https://openrouter.ai/api/v1
116+ LLM_MODEL=google/gemini-3-flash-preview
117+ LLM_REASONING_MODEL=google/gemini-3-flash-preview
118+ LLM_VISION_LANGUAGE_MODEL=google/gemini-3-flash-preview
119+ LLM_IMAGE_MODEL=openai/gpt-5-image
120+
121+ LLM_EMBEDDING_MODEL=qwen/qwen3-embedding-4b
122+ LLM_EMBEDDING_BASE_URL=https://openrouter.ai/api/v1
123+
124+ TELEGRAM_MODE=pooling
125+ # Telegram App Id and Hash. Reference: https://my.telegram.org/
126+ TG_APP_ID=${{ secrets.TG_APP_ID }}
127+ TG_APP_HASH=${{ secrets.TG_APP_HASH }}
128+
129+ # Roles
130+ ROLE_DETECTION_ENABLED=1
131+ ROLE_OVERLAY_ANALYST_JOURNALIST=1
132+ ROLE_OVERLAY_COMMUNITY_MANAGER=1
133+ ROLE_OVERLAY_CUSTOMER_SUCCESS=1
134+ ROLE_OVERLAY_EXECUTIVE=1
135+ ROLE_OVERLAY_FREELANCER=1
136+ ROLE_OVERLAY_INDIE_FOUNDER=1
137+ ROLE_OVERLAY_INVESTOR_ADVISOR=1
138+ ROLE_OVERLAY_REMOTE_WORKER=1
139+ ROLE_OVERLAY_SALES_BIZDEV=1
140+
141+ CLAUDE_CODE_TMPDIR=$HOME/.cache/lumis-tmp
142+
143+ ANTHROPIC_BASE_URL=http://localhost:3415/api/ai
144+ API_TIMEOUT_MS=3000000
145+ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
146+ IS_TAURI=true
147+
148+ # iMessage Backend Mode
149+ IMESSAGE_BACKEND_MODE=sdk
150+ NEXT_PUBLIC_IMESSAGE_BACKEND_MODE=sdk
151+
152+ CLAUDE_DISABLE_URL_SAFETY_CHECK=true
153+ EOF
108154
109155 - name : Import Apple Certificate and Intermediate Certificates
110156 env :
@@ -212,9 +258,26 @@ jobs:
212258 APP_BUNDLE="./lumis/apps/web/src-tauri/target/release/bundle/macos/Lumis.app"
213259 DMG_PATH="./lumis/apps/web/src-tauri/target/release/bundle/dmg/Lumis_0.3.0_aarch64.dmg"
214260
215- # Create DMG from the signed app bundle using hdiutil
216- # Use UDZO (compressed) format to match Tauri behavior
217- hdiutil create -volname "Lumis" -fs HFS+ -srcfolder "$APP_BUNDLE" -format UDZO "$DMG_PATH"
261+ # Create a temporary directory for DMG contents
262+ TEMP_DMG_DIR=$(mktemp -d)
263+ cp -R "$APP_BUNDLE" "$TEMP_DMG_DIR/"
264+
265+ # Create symlink to /Applications (shows as "Applications" folder in DMG)
266+ ln -s /Applications "$TEMP_DMG_DIR/Applications"
267+
268+ # Create DMG from the temp directory with proper layout
269+ # This creates a DMG with the app on the left and Applications folder on the right
270+ hdiutil create -volname "Lumis" \
271+ -fs HFS+ \
272+ -srcfolder "$TEMP_DMG_DIR" \
273+ -format UDZO \
274+ -layout SPUD \
275+ -window-pos 100 100 \
276+ -window-size 600 400 \
277+ "$DMG_PATH"
278+
279+ # Clean up temp directory
280+ rm -rf "$TEMP_DMG_DIR"
218281
219282 echo "✅ DMG created from signed app bundle"
220283
@@ -375,9 +438,55 @@ jobs:
375438 - name : Create .env file
376439 working-directory : ./lumis/apps/web
377440 run : |
378- cp .env.example .env
379- # Remove POSTGRES_URL to skip database migration in CI
380- grep -v '^POSTGRES_URL=' .env > .env.tmp && mv .env.tmp .env
441+ cat > .env << 'EOF'
442+ ENCRYPTION_KEY=${{ secrets.ENCRYPTION_KEY }}
443+
444+ # Cloud API Configuration for Tauri Desktop App
445+ CLOUD_API_URL=https://app.uselumis.ai
446+ NEXT_PUBLIC_CLOUD_API_URL=https://app.uselumis.ai
447+
448+ # Local development URL (for Tauri mode)
449+ NEXT_PUBLIC_APP_URL=http://localhost:3415
450+
451+ LLM_BASE_URL=https://openrouter.ai/api/v1
452+ LLM_MODEL=google/gemini-3-flash-preview
453+ LLM_REASONING_MODEL=google/gemini-3-flash-preview
454+ LLM_VISION_LANGUAGE_MODEL=google/gemini-3-flash-preview
455+ LLM_IMAGE_MODEL=openai/gpt-5-image
456+
457+ LLM_EMBEDDING_MODEL=qwen/qwen3-embedding-4b
458+ LLM_EMBEDDING_BASE_URL=https://openrouter.ai/api/v1
459+
460+ TELEGRAM_MODE=pooling
461+ # Telegram App Id and Hash. Reference: https://my.telegram.org/
462+ TG_APP_ID=${{ secrets.TG_APP_ID }}
463+ TG_APP_HASH=${{ secrets.TG_APP_HASH }}
464+
465+ # Roles
466+ ROLE_DETECTION_ENABLED=1
467+ ROLE_OVERLAY_ANALYST_JOURNALIST=1
468+ ROLE_OVERLAY_COMMUNITY_MANAGER=1
469+ ROLE_OVERLAY_CUSTOMER_SUCCESS=1
470+ ROLE_OVERLAY_EXECUTIVE=1
471+ ROLE_OVERLAY_FREELANCER=1
472+ ROLE_OVERLAY_INDIE_FOUNDER=1
473+ ROLE_OVERLAY_INVESTOR_ADVISOR=1
474+ ROLE_OVERLAY_REMOTE_WORKER=1
475+ ROLE_OVERLAY_SALES_BIZDEV=1
476+
477+ CLAUDE_CODE_TMPDIR=$HOME/.cache/lumis-tmp
478+
479+ ANTHROPIC_BASE_URL=http://localhost:3415/api/ai
480+ API_TIMEOUT_MS=3000000
481+ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
482+ IS_TAURI=true
483+
484+ # iMessage Backend Mode
485+ IMESSAGE_BACKEND_MODE=sdk
486+ NEXT_PUBLIC_IMESSAGE_BACKEND_MODE=sdk
487+
488+ CLAUDE_DISABLE_URL_SAFETY_CHECK=true
489+ EOF
381490
382491 - name : Install Linux build dependencies
383492 run : |
0 commit comments