Skip to content

Commit 71198fe

Browse files
committed
Add Electron Forge for cross-platform installers with automated GitHub Actions releases
- Configure Electron Forge with makers for Windows (Squirrel), macOS (ZIP), and Linux (DEB/RPM) - Add GitHub Actions workflow to automatically build all platforms on version tag push - Update README with prominent download section for end users - Add npm run make script to build installers locally - Remove electron-builder in favor of Electron Forge - Installers automatically uploaded to GitHub Releases for easy distribution
1 parent a621412 commit 71198fe

6 files changed

Lines changed: 7828 additions & 1982 deletions

File tree

.github/workflows/release.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Build and Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
build:
10+
runs-on: ${{ matrix.os }}
11+
12+
strategy:
13+
matrix:
14+
os: [windows-latest, macos-latest, ubuntu-latest]
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: '18'
24+
25+
- name: Install dependencies
26+
run: npm install
27+
28+
- name: Build installers
29+
run: npm run make
30+
31+
- name: Upload artifacts
32+
uses: actions/upload-artifact@v4
33+
with:
34+
name: installers-${{ matrix.os }}
35+
path: out/make/**/*
36+
if-no-files-found: error
37+
38+
release:
39+
needs: build
40+
runs-on: ubuntu-latest
41+
permissions:
42+
contents: write
43+
44+
steps:
45+
- name: Download all artifacts
46+
uses: actions/download-artifact@v4
47+
with:
48+
path: artifacts
49+
50+
- name: Create Release
51+
uses: softprops/action-gh-release@v1
52+
with:
53+
files: artifacts/**/*
54+
draft: false
55+
prerelease: false
56+
env:
57+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
node_modules/
22
dist/
3+
out/
34
*.log
45
.DS_Store

README.md

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,29 @@
22

33
A beautiful, transparent teleprompter app built with Electron. Perfect for video creators, presenters, and content makers who want to deliver natural-looking scripts on camera.
44

5+
## 📥 Download
6+
7+
### 🎉 For End Users (Non-Developers)
8+
9+
**No installation of Node.js or development tools required!**
10+
11+
Simply download the installer for your platform and run it:
12+
13+
👉 **[Download Script Scroller](https://github.com/SQLtattoo/scriptScroller/releases/latest)**
14+
15+
**Available for all platforms:**
16+
- 🪟 **Windows**: `Script.Scroller-1.0.0.Setup.exe` - Double-click to install
17+
- 🍎 **macOS**: `Script.Scroller-darwin-x64-1.0.0.zip` - Extract and drag to Applications
18+
- 🐧 **Linux**: `.deb` (Debian/Ubuntu) or `.rpm` (Fedora/RHEL) - Install with your package manager
19+
20+
**That's it!** No coding knowledge needed. Download, install, and start creating amazing videos with your teleprompter.
21+
22+
---
23+
24+
### 👨‍💻 For Developers
25+
26+
Want to contribute or run from source? See the development setup below.
27+
528
## ✨ Features
629

730
- **Frameless & Transparent** - Minimalist design that stays out of the way
@@ -15,7 +38,7 @@ A beautiful, transparent teleprompter app built with Electron. Perfect for video
1538
- **Customizable** - Adjust font size and scrolling speed on the fly
1639
- **Cross-Platform** - Works on Windows, macOS, and Linux
1740

18-
## 🚀 Quick Start
41+
## 🚀 Quick Start (For Developers)
1942

2043
### Prerequisites
2144
- [Node.js](https://nodejs.org) (v14 or higher)
@@ -32,13 +55,35 @@ npm install
3255
npm start
3356
```
3457

35-
### Build Standalone Executable
58+
### Build Installers
59+
60+
Create platform-specific installers for distribution:
61+
62+
```powershell
63+
npm run make
64+
```
65+
66+
This will create installers in the `out/make/` directory:
67+
- **Windows**: `.exe` installer (Squirrel)
68+
- **macOS**: `.zip` archive (requires building on macOS)
69+
- **Linux**: `.deb` and `.rpm` packages (requires building on Linux)
70+
71+
**Note:** Due to platform limitations, each OS installer must be built on its native platform. For convenience, we use GitHub Actions to build all platforms automatically when you push a version tag.
72+
73+
### Create a Release (Automated Build for All Platforms)
74+
75+
To build installers for Windows, macOS, and Linux automatically:
76+
77+
1. Update version in `package.json`
78+
2. Commit your changes
79+
3. Create and push a version tag:
3680

3781
```powershell
38-
npm run build
82+
git tag v1.0.0
83+
git push origin v1.0.0
3984
```
4085

41-
The portable executable will be created in the `dist` folder.
86+
GitHub Actions will automatically build installers for all platforms and create a release with downloadable assets.
4287

4388
## 📖 How to Use
4489

forge.config.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
module.exports = {
2+
packagerConfig: {
3+
asar: true,
4+
name: 'Script Scroller',
5+
executableName: 'script-scroller'
6+
},
7+
rebuildConfig: {},
8+
makers: [
9+
{
10+
name: '@electron-forge/maker-squirrel',
11+
config: {
12+
name: 'script_scroller'
13+
}
14+
},
15+
{
16+
name: '@electron-forge/maker-zip',
17+
platforms: ['darwin', 'linux']
18+
},
19+
{
20+
name: '@electron-forge/maker-deb',
21+
config: {
22+
options: {
23+
maintainer: 'Script Scroller Team',
24+
homepage: 'https://github.com/SQLtattoo/scriptScroller'
25+
}
26+
}
27+
},
28+
{
29+
name: '@electron-forge/maker-rpm',
30+
config: {
31+
options: {
32+
homepage: 'https://github.com/SQLtattoo/scriptScroller'
33+
}
34+
}
35+
}
36+
],
37+
plugins: []
38+
};

0 commit comments

Comments
 (0)