feat(CI): 添加Flutter安装脚本并改进Windows构建流程
添加install_flutter_simple.bat脚本用于在Windows上自动安装Flutter 改进docker.yml中的Windows构建步骤,增加Flutter路径检测和powershell支持
This commit is contained in:
parent
4f9d405c9f
commit
deac0adabd
@ -189,19 +189,51 @@ jobs:
|
|||||||
}
|
}
|
||||||
|
|
||||||
- name: Enable Windows desktop
|
- 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
|
- name: Get dependencies
|
||||||
run: flutter pub get
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
flutter pub get
|
||||||
|
|
||||||
- name: Generate code
|
- 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
|
- name: Build Windows Debug
|
||||||
run: flutter build windows
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
flutter build windows
|
||||||
|
|
||||||
- name: Build Windows Release
|
- name: Build Windows Release
|
||||||
run: flutter build windows --release
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
flutter build windows --release
|
||||||
|
|
||||||
- name: Upload Debug build artifacts
|
- name: Upload Debug build artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
|
|||||||
44
install_flutter_simple.bat
Normal file
44
install_flutter_simple.bat
Normal 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
|
||||||
Loading…
x
Reference in New Issue
Block a user