Skip to content

fix: 3 critical safety regressions — disk identity, shrink guard, Win… #8

fix: 3 critical safety regressions — disk identity, shrink guard, Win…

fix: 3 critical safety regressions — disk identity, shrink guard, Win… #8

Workflow file for this run

name: Build & Release
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
tag:
description: 'Release tag (e.g. v2.1.3-beta)'
required: true
default: 'v2.1.3-beta'
windows_only:
description: 'Build Windows only (hotfix pass)'
type: boolean
default: false
jobs:
build-mac:
if: ${{ github.event.inputs.windows_only != 'true' }}
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- name: Build (Vite + TS + electron-builder macOS)
run: npx tsc && npx tsc -p electron/tsconfig.json && npx vite build && npx electron-builder --mac dmg --x64 --arm64 --publish never
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
- uses: actions/upload-artifact@v4
with:
name: mac-dmg
path: release/*.dmg
build-linux:
if: ${{ github.event.inputs.windows_only != 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- name: Install Linux build dependencies
run: sudo apt-get install -y rpm fakeroot dpkg
- name: Build (Vite + TS)
run: npx tsc && npx tsc -p electron/tsconfig.json && npx vite build
- name: Package Linux targets
run: npx electron-builder --linux AppImage deb --x64 --publish never
- uses: actions/upload-artifact@v4
with:
name: linux-packages
path: |
release/*.AppImage
release/*.deb
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- name: Build (Vite + TS)
run: npx tsc && npx tsc -p electron/tsconfig.json && npx vite build
- name: Package Windows
run: npx electron-builder --win nsis --x64 --publish never
- uses: actions/upload-artifact@v4
with:
name: windows-installer
path: release/*.exe
publish-release:
needs: [build-mac, build-linux, build-windows]
if: always() && needs.build-windows.result == 'success'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/download-artifact@v4
with:
path: release-artifacts
merge-multiple: true
- name: Resolve tag name
id: tag
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
echo "name=${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT
else
echo "name=${{ github.ref_name }}" >> $GITHUB_OUTPUT
fi
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.tag.outputs.name }}
name: "v2.1.3-beta — Linux & UX Polishing"
body: |
macOS One-Click v2.1.3-beta
This release focuses on Linux distribution quality and BIOS step UX:
- **Linux Improvements**:
- First-class `.deb` support with system menu integration.
- Programmatic sandbox detection (no more `--no-sandbox` manual flag for root users).
- Explicit installation guidance for AppImage vs Debian packages.
- **BIOS Flow**:
- Added "Mark all as verified" shortcut for advanced users.
- Added "I already changed these settings" button to skip the manual checklist.
- **Reliability**:
- Admin/Elevation check run immediately on app start.
- Better cross-platform dependency tracking.
⚠ Important:
- This is a beta release — intermediate users only.
- The app erases the selected USB drive.
- Manual BIOS configuration is still required.
files: release-artifacts/**/*
draft: false
prerelease: true
overwrite: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}