hbai-ltd--toonflow-app
9119799461
构建测试 / 构建 Linux (ARM64) (push) Failing after 2s
构建测试 / 构建 Linux (x64) (push) Failing after 2s
构建测试 / 构建 Windows (ARM64) (push) Has been cancelled
构建测试 / 构建 Windows (x64) (push) Has been cancelled
构建测试 / 构建 macOS (Apple Silicon) (push) Has been cancelled
构建测试 / 构建 macOS (Intel) (push) Has been cancelled
构建测试 / 构建摘要 (push) Has been cancelled
211 行
6.2 KiB
YAML
211 行
6.2 KiB
YAML
name: Build and Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: "Version number (e.g., 1.0.0)"
|
|
required: false
|
|
type: string
|
|
|
|
env:
|
|
NODE_VERSION: "24"
|
|
|
|
jobs:
|
|
# ==================== Windows 构建 ====================
|
|
build-Windows:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- arch: x64
|
|
name: x64
|
|
- arch: arm64
|
|
name: ARM64
|
|
|
|
runs-on: windows-latest
|
|
name: 构建 Windows (${{ matrix.name }})
|
|
|
|
steps:
|
|
- name: 检出代码
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 配置 Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ env.NODE_VERSION }}
|
|
|
|
- name: 安装依赖
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: 打包 Windows 安装程序
|
|
run: yarn dist:win --${{ matrix.arch }}
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: 上传构建产物
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: windows-${{ matrix.arch }}
|
|
path: dist/*.exe
|
|
retention-days: 7
|
|
|
|
# ==================== macOS 构建 ====================
|
|
build-macOS:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- arch: arm64
|
|
os: macos-latest
|
|
name: Apple Silicon
|
|
- arch: x64
|
|
os: macos-latest
|
|
name: Intel
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
name: 构建 macOS (${{ matrix.name }})
|
|
|
|
steps:
|
|
- name: 检出代码
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 配置 Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ env.NODE_VERSION }}
|
|
|
|
- name: 安装依赖
|
|
run: yarn install --frozen-lockfile
|
|
env:
|
|
npm_config_arch: ${{ matrix.arch }}
|
|
|
|
- name: 安装目标平台 sharp
|
|
if: matrix.arch == 'x64'
|
|
run: |
|
|
npm install --no-save --ignore-scripts --force @img/sharp-darwin-x64 @img/sharp-libvips-darwin-x64
|
|
|
|
- name: 打包 macOS 安装程序
|
|
run: yarn dist:mac --${{ matrix.arch }}
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: 上传构建产物
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: macos-${{ matrix.arch }}
|
|
path: dist/*.dmg
|
|
retention-days: 7
|
|
|
|
# ==================== Linux 构建 ====================
|
|
build-Linux:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- arch: x64
|
|
name: x64
|
|
- arch: arm64
|
|
name: ARM64
|
|
|
|
runs-on: ubuntu-latest
|
|
name: 构建 Linux (${{ matrix.name }})
|
|
|
|
steps:
|
|
- name: 检出代码
|
|
uses: actions/checkout@v4
|
|
|
|
- name: 配置 Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ env.NODE_VERSION }}
|
|
|
|
- name: 安装依赖
|
|
run: yarn install --frozen-lockfile
|
|
env:
|
|
npm_config_arch: ${{ matrix.arch }}
|
|
|
|
- name: 安装目标平台 sharp
|
|
if: matrix.arch == 'arm64'
|
|
run: |
|
|
npm install --no-save --ignore-scripts --force @img/sharp-linux-arm64 @img/sharp-libvips-linux-arm64
|
|
|
|
- name: 打包 Linux 安装程序
|
|
run: yarn dist:linux --${{ matrix.arch }}
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: 上传构建产物
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: linux-${{ matrix.arch }}
|
|
path: dist/*.AppImage
|
|
retention-days: 7
|
|
|
|
# ==================== 发布 ====================
|
|
release:
|
|
needs: [build-Windows, build-macOS, build-Linux]
|
|
runs-on: ubuntu-latest
|
|
name: 发布到 GitHub
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
steps:
|
|
- name: 下载所有构建产物
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
path: artifacts
|
|
|
|
- name: 整理文件
|
|
run: |
|
|
mkdir -p dist
|
|
find artifacts -type f \( -name "*.exe" -o -name "*.dmg" -o -name "*.AppImage" \) -exec mv {} dist/ \;
|
|
|
|
- name: 显示待发布文件
|
|
run: |
|
|
echo "===== 待发布文件列表 ====="
|
|
ls -la dist/
|
|
|
|
- name: 创建 GitHub Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
name: ToonFlow ${{ github.ref_name }}
|
|
draft: false
|
|
prerelease: ${{ contains(github.ref_name, 'beta') || contains(github.ref_name, 'alpha') }}
|
|
generate_release_notes: true
|
|
body: |
|
|
## 📦 下载指南
|
|
|
|
| 操作系统 | 架构 | 文件 | 说明 |
|
|
|---------|------|------|------|
|
|
| 🪟 Windows | x64 | `ToonFlow-*-win-x64-setup.exe` | **推荐**,适用于大多数 Windows 电脑 |
|
|
| 🪟 Windows | ARM64 | `ToonFlow-*-win-arm64-setup.exe` | 适用于 ARM 架构 Windows 设备 |
|
|
| 🍎 macOS | Apple Silicon | `ToonFlow-*-mac-arm64.dmg` | 适用于 M1/M2/M3/M4 芯片的 Mac |
|
|
| 🍎 macOS | Intel | `ToonFlow-*-mac-x64.dmg` | 适用于 Intel 芯片的 Mac |
|
|
| 🐧 Linux | x64 | `ToonFlow-*-linux-x86_64.AppImage` | 适用于大多数 Linux 发行版 |
|
|
| 🐧 Linux | ARM64 | `ToonFlow-*-linux-arm64.AppImage` | 适用于 ARM 架构的 Linux 设备 |
|
|
|
|
> 💡 **不确定选哪个?** Windows 用户通常选 **win-x64-setup.exe**;Mac 用户查看「关于本机」:M 系列芯片选 **arm64.dmg**,Intel 选 **x64.dmg**。
|
|
|
|
## 🚀 安装说明
|
|
|
|
- **Windows**:下载 `.exe` 文件,双击运行安装向导即可。如遇 DLL 缺失,请安装 [VC++ 运行库](https://aka.ms/vs/17/release/vc_redist.x64.exe)。
|
|
- **macOS**:下载 `.dmg` 文件,打开后将应用拖入「应用程序」。首次打开如遇安全提示,前往「系统设置 → 隐私与安全性」允许运行。
|
|
- **Linux**:下载 `.AppImage`,执行 `chmod +x ToonFlow-*.AppImage` 后运行。
|
|
|
|
---
|
|
|
|
files: dist/*
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: 发布完成
|
|
run: |
|
|
echo "✅ 发布完成!"
|
|
echo "🔗 Release: https://github.com/${{ github.repository }}/releases/tag/${{ github.ref_name }}"
|