Skip to content

chore: bump version to 1.0.15 #16

chore: bump version to 1.0.15

chore: bump version to 1.0.15 #16

Workflow file for this run

name: Build and Release
on:
push:
tags:
- 'v*.*.*'
jobs:
build:
name: Build on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
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 dependencies
run: npm ci
- name: Update Version from Tag
shell: bash
run: |
if [[ $GITHUB_REF_NAME =~ ^v ]]; then
VERSION=${GITHUB_REF_NAME#v}
echo "Setting package version to $VERSION"
npm version $VERSION --no-git-tag-version --allow-same-version
fi
- name: Generate SSL certificates
run: npm run generate-cert
- name: Generate app icons
run: npm run generate-icons
# macOS Specific: Apple Certificate Import
- name: Import Apple Developer Certificate
if: matrix.os == 'macos-latest'
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 Application
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 }}
shell: bash
run: |
if [ "${{ matrix.os }}" == "macos-latest" ]; then
npm run build:mac -- -p never
elif [ "${{ matrix.os }}" == "windows-latest" ]; then
npm run build:windows -- -p never
elif [ "${{ matrix.os }}" == "ubuntu-latest" ]; then
npm run build:linux -- -p never
fi
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: app-${{ matrix.os }}
path: dist/*.zip
if-no-files-found: error
release:
name: Create Release
needs: build
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
pattern: app-*
merge-multiple: true
path: dist
- 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-x64.zip`
- **macOS (Apple Silicon/M1)**: `LocalStream-${{ github.ref_name }}-mac-arm64.zip`
- **Windows (x64)**: `LocalStream-${{ github.ref_name }}-win-x64.zip`
- **Linux (x64)**: `LocalStream-${{ github.ref_name }}-linux-x64.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 }}