Skip to content

chore: bump version to 1.0.21 #23

chore: bump version to 1.0.21

chore: bump version to 1.0.21 #23

Workflow file for this run

name: Build and Release
on:
push:
tags:
- 'v*.*.*'
jobs:
build-and-release:
name: Build and Release
runs-on: macos-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install System Dependencies
run: |
brew install librsvg
- name: Install dependencies
run: npm ci
- name: Update Version from Tag
run: |
VERSION=${GITHUB_REF_NAME#v}
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "Setting package version to $VERSION"
npm version $VERSION --no-git-tag-version --allow-same-version
- name: Generate SSL certificates
run: npm run generate-cert
- name: Generate app icons
run: npm run generate-icons
- name: Import Apple Developer Certificate
env:
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
run: |
# Create keychain
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
KEYCHAIN_PASSWORD=$(openssl rand -base64 32)
# Decode certificate and save to file
echo "$APPLE_CERTIFICATE" | base64 --decode > certificate.p12
# Create keychain
security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH"
security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
# Import certificate to keychain
security import certificate.p12 -k "$KEYCHAIN_PATH" -P "$APPLE_CERTIFICATE_PASSWORD" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
# Add keychain to search list
security list-keychain -d user -s "$KEYCHAIN_PATH"
# Clean up certificate file
rm -f certificate.p12
- name: Build Electron Apps
run: npm run build:all -- -p never
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
CSC_IDENTITY_AUTO_DISCOVERY: true
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: dist/*.zip
generate_release_notes: true
draft: false
prerelease: false
body: |
## LocalStream Release ${{ github.ref_name }}
### Downloads
- **macOS (Intel)**: `LocalStream-${{ github.ref_name }}-mac.zip`
- **macOS (Apple Silicon/M1/M3)**: `LocalStream-${{ github.ref_name }}-arm64-mac.zip`
- **Windows (x64)**: `LocalStream-${{ github.ref_name }}-win.zip`
- **Linux (x64)**: `LocalStream-${{ github.ref_name }}-linux.zip`
### Installation
**macOS:**
1. Download and unzip the file for your platform
2. Double-click LocalStream.app to launch (app is signed and notarized)
3. Click "Start Server" to begin streaming
**Windows/Linux:**
1. Download and unzip the file for your platform
2. Launch the LocalStream application
3. Click "Start Server" to begin streaming
### Features
- 🖥️ Desktop GUI for easy server control
- 📱 QR code generation for mobile devices
- 🔒 HTTPS support with auto-generated certificates
- 🎥 WebRTC streaming optimized for OBS
- 🌐 Automatic network discovery with mDNS
### Notes
- Server runs on http://localhost:3000 and https://localhost:3443
- Check README.md for OBS setup instructions
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}