CI: build-windows.yaml (раннер windows) + build-windows.ps1 CI-ready
Конфиг сервера из env-secrets (не только из файла), клон rustdesk переопределяем через RUSTDESK_SRC_DIR (на S:, C: раннера тесный). Workflow: сборка на GUSIK-PC + attach установщика к Gitea Release на v*. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -14,8 +14,7 @@
|
||||
param([switch]$Clean, [switch]$SkipBuild)
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$root = Split-Path -Parent $PSScriptRoot
|
||||
$src = Join-Path $root 'rustdesk'
|
||||
$dist = Join-Path $root 'dist'
|
||||
$dist = Join-Path $root 'dist' # $src задаётся ниже (переопределяемо через RUSTDESK_SRC_DIR)
|
||||
|
||||
# --- пины ---
|
||||
$pins = @{}
|
||||
@@ -29,14 +28,18 @@ Write-Host "== RustDesk custom build == tag=$TAG triplet=$TRIPLET" -ForegroundCo
|
||||
$FlutterHome = if ($env:FLUTTER_HOME) { $env:FLUTTER_HOME } else { 'S:\dev\flutter' }
|
||||
$VcpkgRoot = if ($env:VCPKG_ROOT) { $env:VCPKG_ROOT } else { 'S:\dev\vcpkg' }
|
||||
$BashExe = 'C:\Program Files\Git\bin\bash.exe'
|
||||
# Клон rustdesk (с многогиговым target/) — переопределяемо на S: (в CI checkout может лежать на C:).
|
||||
$src = if ($env:RUSTDESK_SRC_DIR) { $env:RUSTDESK_SRC_DIR } else { Join-Path $root 'rustdesk' }
|
||||
|
||||
# --- config/server.env ---
|
||||
$envFile = Join-Path $root 'config\server.env'
|
||||
if (-not (Test-Path $envFile)) { throw "Нет $envFile — скопируй config\server.env.example и заполни RUSTDESK_SERVER/RUSTDESK_PUB_KEY." }
|
||||
Get-Content $envFile | Where-Object { $_ -match '^\s*[A-Z].*=' } | ForEach-Object {
|
||||
$k,$v = $_ -split '=',2; Set-Item -Path "Env:$($k.Trim())" -Value $v.Trim()
|
||||
# --- конфиг сервера: из env (CI secrets) ИЛИ config/server.env (локально) ---
|
||||
if (-not ($env:RUSTDESK_SERVER -and $env:RUSTDESK_PUB_KEY)) {
|
||||
$envFile = Join-Path $root 'config\server.env'
|
||||
if (-not (Test-Path $envFile)) { throw "Нет ни env RUSTDESK_SERVER/RUSTDESK_PUB_KEY (CI secrets), ни $envFile (локально — скопируй server.env.example)." }
|
||||
Get-Content $envFile | Where-Object { $_ -match '^\s*[A-Z].*=' } | ForEach-Object {
|
||||
$k,$v = $_ -split '=',2; Set-Item -Path "Env:$($k.Trim())" -Value $v.Trim()
|
||||
}
|
||||
}
|
||||
if (-not $env:RUSTDESK_SERVER -or -not $env:RUSTDESK_PUB_KEY) { throw "В config\server.env не заданы RUSTDESK_SERVER/RUSTDESK_PUB_KEY." }
|
||||
if (-not $env:RUSTDESK_SERVER -or -not $env:RUSTDESK_PUB_KEY) { throw "Не заданы RUSTDESK_SERVER/RUSTDESK_PUB_KEY." }
|
||||
|
||||
# --- импорт VS dev-env (MSVC/CMake/Windows SDK в PATH) ---
|
||||
$vsw = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
|
||||
|
||||
Reference in New Issue
Block a user