feat(CI): 添加Flutter安装脚本并改进Windows构建流程
Some checks failed
Build Windows / 编译 libcore (Windows) (20.15.1) (push) Successful in 19m38s
Build Windows / build (push) Failing after 7h0m26s

添加install_flutter_simple.bat脚本用于在Windows上自动安装Flutter
改进docker.yml中的Windows构建步骤,增加Flutter路径检测和powershell支持
This commit is contained in:
shanshanzhong 2025-11-08 22:01:00 -08:00
parent 4f9d405c9f
commit deac0adabd
2 changed files with 81 additions and 5 deletions

View File

@ -189,19 +189,51 @@ jobs:
}
- name: Enable Windows desktop
run: flutter config --enable-windows-desktop
shell: powershell
run: |
$flutterPath = Get-Command flutter -ErrorAction SilentlyContinue
if (-not $flutterPath) {
Write-Host "Flutter not found, checking common locations..."
$commonPaths = @(
"C:\flutter\bin\flutter.exe",
"C:\tools\flutter\bin\flutter.exe",
"${env:USERPROFILE}\flutter\bin\flutter.exe"
)
$flutterFound = $false
foreach ($path in $commonPaths) {
if (Test-Path $path) {
Write-Host "Found Flutter at: $path"
$env:PATH = "$(Split-Path $path);$env:PATH"
$flutterFound = $true
break
}
}
if (-not $flutterFound) {
Write-Host "ERROR: Flutter not found. Please install Flutter first."
exit 1
}
}
flutter config --enable-windows-desktop
- name: Get dependencies
run: flutter pub get
shell: powershell
run: |
flutter pub get
- name: Generate code
run: dart run build_runner build --delete-conflicting-outputs
shell: powershell
run: |
dart run build_runner build --delete-conflicting-outputs
- name: Build Windows Debug
run: flutter build windows
shell: powershell
run: |
flutter build windows
- name: Build Windows Release
run: flutter build windows --release
shell: powershell
run: |
flutter build windows --release
- name: Upload Debug build artifacts
uses: actions/upload-artifact@v3

View File

@ -0,0 +1,44 @@
@echo off
REM Simple Flutter installer for Windows Gitea Runner
echo Installing Flutter for Windows...
REM Create flutter directory
mkdir C:\flutter 2>nul
REM Download Flutter stable version
echo Downloading Flutter...
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://storage.googleapis.com/flutter_infra_release/releases/stable/windows/flutter_windows_3.24.5-stable.zip', 'C:\flutter.zip')"
if %errorlevel% neq 0 (
echo Download failed, trying alternative...
powershell -Command "Invoke-WebRequest -Uri 'https://storage.googleapis.com/flutter_infra_release/releases/stable/windows/flutter_windows_3.24.5-stable.zip' -OutFile 'C:\flutter.zip'"
)
REM Extract Flutter
echo Extracting Flutter...
powershell -Command "Expand-Archive -Path 'C:\flutter.zip' -DestinationPath 'C:\' -Force"
REM Set PATH
echo Setting PATH...
set PATH=C:\flutter\bin;%PATH%
setx PATH "C:\flutter\bin;%PATH%"
REM Clean up
del C:\flutter.zip
REM Verify installation
echo Verifying Flutter installation...
C:\flutter\bin\flutter --version
if %errorlevel% equ 0 (
echo SUCCESS: Flutter installed successfully
echo Running flutter doctor...
C:\flutter\bin\flutter doctor
) else (
echo ERROR: Flutter installation failed
exit /b 1
)
echo Flutter installation complete!
pause