Механизм обновления версии: bump-upstream.sh + provision-windows.ps1

bump-upstream.sh [tag|latest] тянет пины тулчейна из CI-конфигов
целевого тега RustDesk -> upstream.txt (не разъезжается с Flutter/
vcpkg/LLVM/FRB). provision-windows.ps1 идемпотентно доводит тулчейн
до пинов; build-windows.ps1 зовёт его сам -> бамп+пересборка = 1 команда.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 17:28:51 +03:00
parent e06e1cadad
commit eb638b2ce4
6 changed files with 201 additions and 6 deletions
+15 -2
View File
@@ -25,10 +25,23 @@ pwsh -File scripts\build-windows.ps1
Тулчейн (Rust 1.75, LLVM 15.0.6, Flutter 3.24.5, vcpkg@пин) нужно поднять один раз — см.
[docs/CODEMAP.md](docs/CODEMAP.md). Первая сборка долгая: vcpkg компилит ffmpeg/aom из исходников.
## Пины
## Пины и обновление версии RustDesk
Все версии зафиксированы в [`upstream.txt`](upstream.txt) (правило проекта: никаких `latest`).
Обновление RustDesk = поднять `RUSTDESK_TAG` и сверить остальные пины с новым `flutter-build.yml` апстрима.
Файл **автогенерится** — при бампе апстрима меняется не только тег, но и весь тулчейн
(Flutter/vcpkg/LLVM/FRB апстрим двигает между релизами), поэтому пины тянутся из CI-конфигов
самого целевого тега, а не проставляются вручную.
**Подтянуть свежую версию и пересобрать под себя:**
```powershell
bash scripts/bump-upstream.sh latest # или конкретный тег: bash scripts/bump-upstream.sh 1.5.0
# -> перепишет upstream.txt пинами из CI этого тега (с диффом)
pwsh -File scripts/build-windows.ps1 # provision сам доустановит новые Flutter/vcpkg/LLVM -> пересборка
```
`build-windows.ps1` в начале зовёт [`provision-windows.ps1`](scripts/provision-windows.ps1) — тот
идемпотентно доводит тулчейн до пинов (ставит только отсутствующее/несовпадающее по версии). То есть
один и тот же `build-windows.ps1` работает и для текущей, и для только что бампнутой версии.
В CI бамп = закоммитить обновлённый `upstream.txt` и запустить workflow.
## Платформы