modified README.md
Release / release (push) Canceled after 2m15s

This commit is contained in:
2026-08-11 15:02:04 +05:00
parent 71a8d3e6fb
commit a777b71b1a
2 changed files with 58 additions and 21 deletions
+30 -11
View File
@@ -135,28 +135,47 @@ dotnet test --collect:"XPlat Code Coverage" --settings CursorLang.Tests\coverage
композиционный корень в `App.xaml.cs`, который вместо этого проверяется сквозным
запуском приложения.
## Непрерывная сборка
Пайплайны лежат в `.gitea/workflows` и работают на Gitea Actions. Запрос
на слияние в `master` собирается и проверяется тестами; по тегу вида `v1.2.3.0`
проект собирается, проходит тесты, пакуется в MSIX и выкладывается релизом
с приложенными пакетами. Номер версии берётся только из тега — тег любого
другого вида останавливает прогон в самом начале.
Обоим пайплайнам нужен runner под Windows с меткой `windows-x64`, на нём —
.NET 10 SDK и git-lfs. Выгрузка исходников тянет файлы LFS: без них иконка
остаётся текстовой заглушкой и сборка на ней падает. Работать runner должен
в интерактивном сеансе рабочего стола — тесты поднимают настоящие окна,
а службе в нулевом сеансе ждать нечего.
Пакет, который несёт релиз, загружается в Partner Center как есть. Identity
берётся из переменных репозитория, а если те не заданы — из значений по
умолчанию в скрипте: `MSIX_IDENTITY_NAME`, `MSIX_PUBLISHER`
и `MSIX_PUBLISHER_DISPLAY_NAME`.
## Сборка пакета MSIX
Ни Visual Studio, ни Windows SDK не требуются — `makeappx` и `signtool`
поставляются из пакета NuGet. Порядок публикации целиком — от регистрации
разработчика до отправки на проверку — описан в
Ни Visual Studio, ни Windows SDK не требуются — `makeappx` поставляется из
пакета NuGet. Порядок публикации целиком — от регистрации разработчика
до отправки на проверку — описан в
[Packaging/PUBLISHING.RU.md](Packaging/PUBLISHING.RU.md).
```powershell
# Разово: отрисовать логотипы и иконку exe (уже в репозитории, повторить после правок)
powershell -File Packaging\New-Assets.ps1
# Сборка и подпись для локальной проверки
powershell -File Packaging\build-msix.ps1 -Architectures x64 -Sign
# Проверка на своей машине: только своя архитектура
powershell -File Packaging\build-msix.ps1 -Architectures x64
# Сборка для Store — identity берётся из Partner Center
# Для Partner Center — identity та, что зарезервирована там
powershell -File Packaging\build-msix.ps1 -Version 1.0.1.0 `
-IdentityName 12345Alrakis.CursorLang -Publisher "CN=ABCD1234-..."
-IdentityName 12345AleksandrNeychev.CursorLang -Publisher "CN=ABCD1234-..."
```
Результат — `artifacts\packages\CursorLang-<version>.msixbundle`, покрывающий x64
и arm64. Загружать в Partner Center его нужно неподписанным — Store подписывает
пакет собственным сертификатом.
Результат — `artifacts\packages\CursorLang-<версия>.msixbundle`, покрывающий x64
и arm64; рядом лежат пакеты отдельных архитектур. Bundle загружается в Partner
Center как есть.
Приложение поставляется с собственной копией .NET: Windows не включает .NET 10, а
MSIX не может установить среду выполнения как зависимость пакета.
@@ -166,5 +185,5 @@ MSIX не может установить среду выполнения как
```powershell
Add-AppxPackage -Register artifacts\layout\x64\AppxManifest.xml
Remove-AppxPackage (Get-AppxPackage -Name Alrakis.CursorLang).PackageFullName
Remove-AppxPackage (Get-AppxPackage -Name CursorLang).PackageFullName
```