Механизм обновления версии: 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
+3 -1
View File
@@ -8,7 +8,9 @@
|------|-----------|
| `upstream.txt` | Пины: `RUSTDESK_TAG`, версии Rust/LLVM/Flutter, `VCPKG_COMMIT_ID`, `VCPKG_TRIPLET`, Android-пины. Единственный источник версий. |
| `scripts/preconfigure.sh` | Патчит `RENDEZVOUS_SERVERS` и `RS_PUB_KEY` в `hbb_common/src/config.rs` клона. Значения из env. Проверяет, что патч применился. |
| `scripts/build-windows.ps1` | Оркестратор локальной Windows-сборки: load env → клон@пин → preconfigure → `python build.py --flutter``dist/`. Есть preflight тулчейна. |
| `scripts/bump-upstream.sh` | `[<tag>|latest]` → тянет пины тулчейна из CI-конфигов целевого тега RustDesk (flutter-build.yml + bridge.yml) и переписывает `upstream.txt` (с диффом). Так бамп версии не разъезжается с Flutter/vcpkg/LLVM/FRB/NDK. |
| `scripts/provision-windows.ps1` | Идемпотентно доводит тулчейн до пинов (Rust+rustfmt, Flutter, LLVM, vcpkg@коммит). Ставит только отсутствующее/несовпадающее. Зовётся из build-windows.ps1 (skip: `RD_SKIP_PROVISION=1`). |
| `scripts/build-windows.ps1` | Оркестратор Windows-сборки: provision → load env → клон@пин → preconfigure → codegen → vcpkg install → build.py → портативный установщик → `dist/`. |
| `config/server.env.example` | Шаблон значений. Реальный `config/server.env` — в `.gitignore`. |
| `.gitea/workflows/` | CI: `build-windows.yaml` (раннер `windows:host`), `build-android.yaml` (VM 118). *(в работе)* |
| `rustdesk/` | Клон апстрима (gitignored, создаётся сборкой). |