Skip to content

feat: update README files to clarify translation capabilities and opt… #11

feat: update README files to clarify translation capabilities and opt…

feat: update README files to clarify translation capabilities and opt… #11

Workflow file for this run

name: Build and Release
on:
push:
tags:
- 'v*'
workflow_dispatch:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
permissions:
contents: write
jobs:
build-macos:
name: Build macOS (M-Series)
runs-on: macos-14
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: Get dependencies
run: flutter pub get
- name: Build macOS
run: |
flutter clean
flutter build macos --release
- name: Create DMG
run: |
APP_NAME="caption_trans"
BUILD_PATH="build/macos/Build/Products/Release/${APP_NAME}.app"
DMG_NAME="${APP_NAME}-macos-arm64.dmg"
# Create temporary folder for DMG content
mkdir -p dmg_content
cp -R "$BUILD_PATH" dmg_content/
ln -s /Applications dmg_content/Applications
# Create DMG
hdiutil create -volname "$APP_NAME" -srcfolder dmg_content -ov -format UDZO "$DMG_NAME"
# Clean up
rm -rf dmg_content
- name: Upload macOS Artifact
uses: actions/upload-artifact@v4
with:
name: macos-dmg
path: caption_trans-macos-arm64.dmg
build-windows:
name: Build Windows
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: Get dependencies
run: flutter pub get
- name: Build Windows
run: |
flutter clean
flutter build windows --release
- name: Package Windows
shell: pwsh
run: |
$APP_NAME = "caption_trans"
$WORKSPACE = "${{ github.workspace }}"
# 拼接出 Release 文件夹的绝对路径
$RELEASE_DIR = Join-Path $WORKSPACE "build\windows\x64\runner\Release"
$ZIP_NAME = Join-Path $WORKSPACE "${APP_NAME}-windows-x64.zip"
Write-Host "Looking for Release directory at: $RELEASE_DIR"
# 验证目录是否存在
if (!(Test-Path $RELEASE_DIR)) {
Write-Error "!!! 找不到 Release 目录 !!!"
Write-Host "打印 build\windows 目录结构用于排查:"
Get-ChildItem -Path "$WORKSPACE\build\windows" -Recurse -Depth 3 | Select-Object FullName
exit 1
}
Write-Host "Found Release directory. Packaging..."
# 将该目录下的所有文件打包到工作区根目录
Compress-Archive -Path "$RELEASE_DIR\*" -DestinationPath "$ZIP_NAME" -Force
Write-Host "Successfully created $ZIP_NAME"
- name: Upload Windows Artifact
uses: actions/upload-artifact@v4
with:
name: windows-zip
path: caption_trans-windows-x64.zip
create-release:
name: Create GitHub Release
needs: [build-macos, build-windows]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
merge-multiple: true
- name: Create Release
uses: softprops/action-gh-release@v2
with:
files: |
artifacts/*.dmg
artifacts/*.zip
draft: false
prerelease: false
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}