Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ jobs:
with:
node-version: "20"
cache: "npm"
cache-dependency-path: app/package-lock.json
cache-dependency-path: package-lock.json

- name: Install dependencies
working-directory: ./app
run: npm ci
# Use npm install instead of npm ci to correctly resolve platform-specific
# optional dependencies (e.g., @tailwindcss/oxide, lightningcss binaries)
run: npm install

- name: Run build:electron
working-directory: ./app
run: npm run build:electron
34 changes: 16 additions & 18 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ name: Build and Release Electron App
on:
push:
tags:
- 'v*.*.*' # Triggers on version tags like v1.0.0
workflow_dispatch: # Allows manual triggering
- "v*.*.*" # Triggers on version tags like v1.0.0
workflow_dispatch: # Allows manual triggering
inputs:
version:
description: 'Version to release (e.g., v1.0.0)'
description: "Version to release (e.g., v1.0.0)"
required: true
default: 'v0.1.0'
default: "v0.1.0"

jobs:
build-and-release:
Expand All @@ -36,31 +36,29 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: app/package-lock.json
node-version: "20"
cache: "npm"
cache-dependency-path: package-lock.json

- name: Install dependencies
working-directory: ./app
run: npm ci
# Use npm install instead of npm ci to correctly resolve platform-specific
# optional dependencies (e.g., @tailwindcss/oxide, lightningcss binaries)
run: npm install

- name: Build Electron App (macOS)
if: matrix.os == 'macos-latest'
working-directory: ./app
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run build:electron -- --mac --x64 --arm64

- name: Build Electron App (Windows)
if: matrix.os == 'windows-latest'
working-directory: ./app
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run build:electron -- --win --x64

- name: Build Electron App (Linux)
if: matrix.os == 'ubuntu-latest'
working-directory: ./app
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run build:electron -- --linux --x64
Expand All @@ -70,12 +68,12 @@ jobs:
with:
tag_name: ${{ github.event.inputs.version || github.ref_name }}
files: |
app/dist/*.exe
app/dist/*.dmg
app/dist/*.AppImage
app/dist/*.zip
app/dist/*.deb
app/dist/*.rpm
apps/app/dist/*.exe
apps/app/dist/*.dmg
apps/app/dist/*.AppImage
apps/app/dist/*.zip
apps/app/dist/*.deb
apps/app/dist/*.rpm
draft: false
prerelease: false
env:
Expand Down
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
#added by trueheads > will remove once supercombo adds multi-os support
#added by trueheads > will remove once supercombo adds multi-os support
launch.sh

# Dependencies
node_modules/

# Build outputs
dist/
.next/
Comment on lines +8 to +9
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To make the root .gitignore more comprehensive for a monorepo, consider adding other common build output directories that are present in workspace .gitignore files, such as out/ and build/. This helps centralize ignore patterns and ensures future workspaces are covered.

dist/
.next/
out/
build/

10 changes: 10 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Cross-platform compatibility for Tailwind CSS v4 and lightningcss
# These packages use platform-specific optional dependencies that npm
# automatically resolves based on your OS (macOS, Linux, Windows, WSL)
#
# IMPORTANT: When switching platforms or getting platform mismatch errors:
# 1. Delete node_modules: rm -rf node_modules apps/*/node_modules
# 2. Run: npm install
#
# In CI/CD: Use "npm install" instead of "npm ci" to allow npm to resolve
# the correct platform-specific binaries at install time.
Loading