commit d6c92ea0ad95c0b640ac9c7df48197412c7518e3
Author: haritabh-z01 <haritabh.z01+github@gmail.com>
Date: Thu Aug 21 23:27:44 2025 +0530
fix: unpacking amical/smart-whisper dep
commit 87819819bb12c07b94f5b52cbb0ea42a452c16e2
Author: haritabh-z01 <haritabh.z01+github@gmail.com>
Date: Thu Aug 21 17:41:02 2025 +0530
fix: unpacking of smart-whisper
commit 81cec166834606cbff2cdd2e750dcc1fb769d4f3
Author: haritabh-z01 <haritabh.z01+github@gmail.com>
Date: Thu Aug 21 16:08:39 2025 +0530
chore: re-enable mac builds
commit f13069c1f350fe06c69aa8f16af41f983f34131e
Author: haritabh-z01 <haritabh.z01+github@gmail.com>
Date: Thu Aug 21 13:06:26 2025 +0530
feat: add smart-whisper package with updated build configuration
commit a24e06856cc595f5e6c5d914090531716d208d2a
Author: haritabh-z01 <haritabh.z01+github@gmail.com>
Date: Thu Aug 21 11:37:25 2025 +0530
chore: bump smart-whisper ver
commit 98f84b6f89c873370f1bb356f11c97dab0185ab7
Author: haritabh-z01 <haritabh.z01+github@gmail.com>
Date: Wed Aug 20 08:59:55 2025 +0530
feat: release wf updates for win builds
commit a85825d362f2a27fdef7b49533a9139aea4785b7
Author: haritabh-z01 <haritabh.z01+github@gmail.com>
Date: Wed Aug 20 08:36:13 2025 +0530
feat: add windows support basics
214 lines
No EOL
7.2 KiB
YAML
214 lines
No EOL
7.2 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- feat.windows.support
|
|
tags:
|
|
- 'v*'
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: 'Release tag (e.g., v0.0.6)'
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
build:
|
|
name: Build ${{ matrix.os == 'macos' && 'macOS' || 'Windows' }} (${{ matrix.arch }})
|
|
runs-on: ${{ matrix.runner }}
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: macos
|
|
arch: arm64
|
|
runner: macos-latest
|
|
- os: macos
|
|
arch: x64
|
|
runner: macos-13
|
|
- os: windows
|
|
arch: x64
|
|
runner: windows-2025
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Verify architecture
|
|
if: matrix.os == 'macos'
|
|
run: |
|
|
CURRENT_ARCH=$(uname -m)
|
|
echo "Current shell architecture: $CURRENT_ARCH"
|
|
echo "Target architecture: ${{ matrix.arch }}"
|
|
echo "Arch command output: $(arch)"
|
|
|
|
if [[ "${{ matrix.arch }}" == "x64" ]]; then
|
|
if [[ "$CURRENT_ARCH" != "x86_64" ]]; then
|
|
echo "ERROR: Expected x86_64 architecture but got $CURRENT_ARCH"
|
|
exit 1
|
|
fi
|
|
echo "✓ Architecture verified: Running as native x86_64 on Intel hardware"
|
|
elif [[ "${{ matrix.arch }}" == "arm64" ]]; then
|
|
if [[ "$CURRENT_ARCH" != "arm64" ]]; then
|
|
echo "ERROR: Expected arm64 architecture but got $CURRENT_ARCH"
|
|
exit 1
|
|
fi
|
|
echo "✓ Architecture verified: Running as native arm64"
|
|
fi
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 10.15.0
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
# 24.2 to at least 24.6 (atm of writing this) has issues with symlink deref in nested directories
|
|
node-version: '24.1.0'
|
|
cache: 'pnpm'
|
|
|
|
- name: Log Node.js architecture and platform
|
|
run: |
|
|
echo "=== Node.js Process Information ==="
|
|
node -e "console.log('process.arch:', process.arch)"
|
|
node -e "console.log('process.platform:', process.platform)"
|
|
echo ""
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Download Node.js binaries
|
|
working-directory: apps/desktop
|
|
run: pnpm download-node
|
|
|
|
- name: Import Developer ID cert
|
|
if: matrix.os == 'macos'
|
|
uses: apple-actions/import-codesign-certs@v3
|
|
with:
|
|
p12-file-base64: ${{ secrets.DEVELOPER_CERT_BASE64 }}
|
|
p12-password: ${{ secrets.DEVELOPER_CERT_PASSPHRASE }}
|
|
|
|
- name: List signing identities (debug)
|
|
if: matrix.os == 'macos'
|
|
run: security find-identity -v -p codesigning
|
|
|
|
- name: Build artifacts (macOS)
|
|
if: matrix.os == 'macos'
|
|
working-directory: apps/desktop
|
|
env:
|
|
SKIP_CODESIGNING: false
|
|
SKIP_NOTARIZATION: false
|
|
APPLE_ID: ${{ secrets.APPLE_ID }}
|
|
APPLE_APP_PASSWORD: ${{ secrets.APPLE_APP_PASSWORD }}
|
|
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
|
CODESIGNING_IDENTITY: ${{ secrets.CODESIGNING_IDENTITY }}
|
|
run: |
|
|
echo "Building macOS ${{ matrix.arch }} artifacts"
|
|
pnpm make:${{ matrix.arch }}
|
|
|
|
- name: Build artifacts (Windows)
|
|
if: matrix.os == 'windows'
|
|
working-directory: apps/desktop
|
|
run: |
|
|
echo "Building Windows x64 artifacts"
|
|
pnpm make:windows
|
|
|
|
- name: Get version from package.json
|
|
id: package_version
|
|
working-directory: apps/desktop
|
|
shell: bash
|
|
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
|
|
|
|
- name: Upload artifacts (macOS)
|
|
if: matrix.os == 'macos'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: macos-${{ matrix.arch }}
|
|
path: |
|
|
apps/desktop/out/make/*-${{ matrix.arch }}.dmg
|
|
apps/desktop/out/make/zip/darwin/${{ matrix.arch }}/*.zip
|
|
|
|
- name: Upload artifacts (Windows)
|
|
if: matrix.os == 'windows'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: windows-${{ matrix.arch }}
|
|
path: |
|
|
apps/desktop/out/make/squirrel.windows/${{ matrix.arch }}/*.exe
|
|
apps/desktop/out/make/squirrel.windows/${{ matrix.arch }}/*.nupkg
|
|
|
|
release:
|
|
name: Create Release
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Get version from package.json
|
|
id: package_version
|
|
working-directory: apps/desktop
|
|
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
|
|
|
|
- name: Download all artifacts
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
path: artifacts
|
|
|
|
- name: List artifacts
|
|
run: |
|
|
echo "=== Full artifacts directory structure ==="
|
|
find artifacts -type f \( -name "*.dmg" -o -name "*.zip" -o -name "*.exe" -o -name "*.nupkg" -o -name "RELEASES" \) | sort
|
|
echo ""
|
|
echo "=== Detailed file listing ==="
|
|
find artifacts -type f \( -name "*.dmg" -o -name "*.zip" -o -name "*.exe" -o -name "*.nupkg" -o -name "RELEASES" \) -exec ls -la {} \;
|
|
|
|
- name: Create Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
draft: true
|
|
prerelease: true
|
|
tag_name: ${{ github.event.inputs.tag || github.ref_name }}
|
|
name: Amical Desktop v${{ steps.package_version.outputs.version }}
|
|
body: |
|
|
## Amical Desktop v${{ steps.package_version.outputs.version }}
|
|
|
|
### What's New
|
|
- Please update this section with actual changes
|
|
|
|
### Downloads
|
|
|
|
#### macOS
|
|
- **Apple Silicon (M1/M2/M3)**: Download the DMG or ZIP file for arm64
|
|
- **Intel**: Download the DMG or ZIP file for x64
|
|
|
|
#### Windows
|
|
- **Windows (x64)**: Download the .exe installer for 64-bit Windows
|
|
|
|
### Installation
|
|
|
|
**macOS**:
|
|
- **DMG**: Download and open the DMG file, then drag Amical to your Applications folder
|
|
- **ZIP**: Download and extract the ZIP file, then drag Amical to your Applications folder
|
|
|
|
**Windows**:
|
|
- Download and run the .exe installer
|
|
- Follow the installation wizard
|
|
- The app will be installed to your user AppData folder and a shortcut will be created
|
|
|
|
The ZIP files are primarily for automatic updates. We recommend using the DMG files for initial installation on macOS.
|
|
files: |
|
|
artifacts/macos-arm64/*.dmg
|
|
artifacts/macos-arm64/zip/darwin/arm64/*.zip
|
|
artifacts/macos-x64/*.dmg
|
|
artifacts/macos-x64/zip/darwin/x64/*.zip
|
|
artifacts/windows-x64/*.exe
|
|
artifacts/windows-x64/*.nupkg
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |